Mon script shell:
#!/bin/bash
echo "$1";
startd=$(date -d "$1" +"%Y%m%d");
echo "$startd";
Ma commande:
Sudo ./test.sh "20151010"
Le résultat:
20151010
20150213
il est imprimé la date d'aujourd'hui au lieu d'imprimer la date de saisie de toute idée?
La version OS X de date
utilise le -f
Option pour analyser une date/heure formatée:
date -j -f '%Y%m%d' "$1" +'%Y%m%d'
Les -j
Option le fait imprimer l'heure, pas essayer de définir l'horloge système. Donc, le script complet serait:
#!/bin/bash
echo "$1";
startd=$(date -j -f '%Y%m%d' "$1" +'%Y%m%d');
echo "$startd";
Voici une transcription:
$ ./testdate.sh 20151010
20151010
20151010