Bonsoir a tous,
mon problème est qu'a la création d'un répertoire j'ai un ? après le nom
mon code
pourriez vous me dire s'il y a une erreur dans celui ci??Code:
1
2 mkdir /Users/moi/Desktop/$(date +%Y%m%d)-02days/
par avance merci pour votre aide
Version imprimable
Bonsoir a tous,
mon problème est qu'a la création d'un répertoire j'ai un ? après le nom
mon code
pourriez vous me dire s'il y a une erreur dans celui ci??Code:
1
2 mkdir /Users/moi/Desktop/$(date +%Y%m%d)-02days/
par avance merci pour votre aide
Bonjour :coucou:
Question énigmatique. Peut-on voir le résultat ? Les traces ? Le script complet ? Les messages d'erreurs ?
Chez d'autres, la commande fonctionne sans problème.
Bonsoir,
désolé pour le retard de réponse.
voici le code
voici ce que me dit terminallorsque je lance le bashCode:
1
2
3
4
5
6
7
8
9 cd /Users/moi/Desktop mkdir /Users/moi/Desktop/$(date +%Y%m%d)-02days sleep 5 cp /Users/moi/Downloads/*.pgrb2full.*.* /Users/moi/Desktop/$(date +%Y%m%d)-02days sleep 30 cd /Users/moi/Desktop/$(date +%Y%m%d)-02days cat gfs.t00z.pgrb2full.0p50.* > $(date +%Y%m%d).grb exit
et pour résultat il me crée bien un repertoire sur mon bureau portant le nom :Code:
1
2
3
4
5 macbook-pro-de-moi:~ moi$ bash /Users/moi/Desktop/concatenator\ 02\ Days.sh : No such file or directory/concatenator 02 Days.sh: line 1: cd: /Users/moi/Desktop : command not found/Desktop/concatenator 02 Days.sh: line 8: exit macbook-pro-de-moi:~ moi$
0191029-02days? (conformément a la ligne 2 du mkdir seulement avec le ? a la fin)
puis a l'intérieur copie bien les fichiers que je lui demande (conformément a la ligne 4)
enfin il concaténe bien (conformément a la ligne 7 ) mais nomme le fichier avec un ? a la fin (après l'extension ) 0191029.grb?
ai-je fais une "boulette" a un endroit ?
Ahhhh mais c'est un macbook. Tu ne l'avais pas dit. Je soupçonne que le script soit édité avec un logiciel qui met des caractères '\r' en fin de ligne.
Rappel :
- \n est la fin de ligne POSIX.
- \r peut être la fin de ligne sous Mac.
- \r\n est la fin de ligne sous Windows.
Je suis sous Linux, et regarde cette console :
L'hypothèse est confirmé. Tu as des \r qui se baladent dans ton code.Code:
1
2
3
4
5
6 $ t=$(echo -e "toto\r"); $ mkdir $t $ ls toto* toto?: $ rmdir $t $
Actions :
- Utilise le bon logiciel.
- Supprime les \r de ton code.
Code:sed -i 's@\r@@g' code.bash
J’utilise atom comme appli et oui mac ...
Afin de voir précisément le contenu (et notamment les caractères invisibles) de ton script, pourrais-tu nous montrer ce que donne le résultat de la commande:
Code:cat -e /Users/moi/Desktop/concatenator\ 02\ Days.sh
Pas de souci. Voir la suite. Dans un message précédent, tu dis:
Donc, il me semble que ton script est le fichier /Users/moi/Desktop/concatenator\ 02\ Days.sh. N'est-ce pas?
Flodelarab soupçonne que le format de fichier de ton script ne soit pas bon (pour l'unix de mac os).
Pour voir le contenu et notamment les fins de lignes de ton fichier, j'aimerais que tu tapes dans le Terminal (avec tes petites mains (ou ta souris, via un copier/coller)) les commandes suivantes:
Si, comme nous le pensons, il apparaît qu'il y a des caractères de fin de ligne non compatibles avec le bash, alors il faudrait les corriger.Code:
1
2 file /Users/moi/Desktop/concatenator\ 02\ Days.sh cat -e /Users/moi/Desktop/concatenator\ 02\ Days.sh
Pour configurer les fins de ligne avec Atom, je t'invite à regarder https://atom.io/packages/line-ending-selector
Pour en savoir plus tape :
Code:man cat
apres vos recommandation et compréhension de vos solutions, j'ai enfin résolu mon souci.
en effet l'éditeur que j'utilise était paramétré en mode window (fin de ligne CRLF ). en changeant mon paramètrage a LF tout est rentré dans l'ordre. je n'ai plus le ? a la fin du nommage de mes fichiers
merci encore de m'avoir mis sur la bonne voie.
bonne fin de journée a vous