Execution du script shell
Sanol
Messages postés
5
Statut
Membre
-
Sanol Messages postés 5 Statut Membre -
Sanol Messages postés 5 Statut Membre -
Bonjour,
j'ai écris un simple script shell qui zip mes fichiers dans un répertoire donné .
le script est le suivant :
# ScriptArchivage.sh
------------------------------------------------------
#!/bin/bash
zip -r `date -I`.zip . -i /donnees/Corbeille/*
------------------------------------------------------
quand je fait en terminal
$sh ScriptArchivage.sh
j'ai un message d'erreur :
: not foundvage.sh: 2:
: not foundvage.sh: 3:
zip error: Nothing to do! (2009-07-01.zip)
: not foundvage.sh: 5:
Quand je fais : ./ScriptArchivage.sh j'ai ce message d'erreur :
-bash: ./ScriptArchivage.sh: /bin/bash^M: bad interpreter: No such file or directory
mais quand j'entre la commande "zip -r `date -I`.zip . -i /donnees/Corbeille/* " directement en ligne de commande ca marche ,et donc j'ai mon 2009-07-01.zip dans le meme répertoire .
je sais pas comment résoudre ca !!!!
si quelqu'un a une idée ,je le remercie beaucoup pour son aide
bonne journée
j'ai écris un simple script shell qui zip mes fichiers dans un répertoire donné .
le script est le suivant :
# ScriptArchivage.sh
------------------------------------------------------
#!/bin/bash
zip -r `date -I`.zip . -i /donnees/Corbeille/*
------------------------------------------------------
quand je fait en terminal
$sh ScriptArchivage.sh
j'ai un message d'erreur :
: not foundvage.sh: 2:
: not foundvage.sh: 3:
zip error: Nothing to do! (2009-07-01.zip)
: not foundvage.sh: 5:
Quand je fais : ./ScriptArchivage.sh j'ai ce message d'erreur :
-bash: ./ScriptArchivage.sh: /bin/bash^M: bad interpreter: No such file or directory
mais quand j'entre la commande "zip -r `date -I`.zip . -i /donnees/Corbeille/* " directement en ligne de commande ca marche ,et donc j'ai mon 2009-07-01.zip dans le meme répertoire .
je sais pas comment résoudre ca !!!!
si quelqu'un a une idée ,je le remercie beaucoup pour son aide
bonne journée
A voir également:
- Execution du script shell
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Shell addition ✓ - Forum Shell
7 réponses
Salut,
-bash: ./ScriptArchivage.sh: /bin/bash^M: bad interpreter: No such file or directory
Ton script a du être créé sous Windows (caractère ^M = CR = Carriage Return).
Il faut modifier les fins de lignes de ton script :
Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF)
-bash: ./ScriptArchivage.sh: /bin/bash^M: bad interpreter: No such file or directory
Ton script a du être créé sous Windows (caractère ^M = CR = Carriage Return).
Il faut modifier les fins de lignes de ton script :
Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF)
salut,
Ou sinon il y a les deux commandes "dos2unix" et "unix2dos" qui font le boulot ...
Deux paquets différents.
Daniel
Ou sinon il y a les deux commandes "dos2unix" et "unix2dos" qui font le boulot ...
Deux paquets différents.
Daniel
Salut,
Lesdites commandes sont mentionnées dans le lien que j'ai donné, c'est pourquoi je n'y ai pas fait allusion dans mon message ;-))
Lesdites commandes sont mentionnées dans le lien que j'ai donné, c'est pourquoi je n'y ai pas fait allusion dans mon message ;-))
Bonjour
merci pour votre réponse.
j'ai pas bien compris ce que je dois faire, enfait ce que je fais c'est via putty depuis une machine Windows vista ,j'utilise nano depuis putty pour éditer mon script ,j'ai ouvert ScriptArchivage.sh et j'ai entrer la séquence "CTRL-V" + "CTRL-M". après j'ai enregister ,et dans la ligne de commande j'ai fait $ sed 's/^M$//' ScriptArchivage.sh j'ai essayer aussi avec $ sed 's/\x0D$//' ScriptArchivage.sh
mais ca ne marche pas , donc je ne sais pas si c'est comme ca qu'il faut faire ou pas .
Merci pour votre aide
merci pour votre réponse.
j'ai pas bien compris ce que je dois faire, enfait ce que je fais c'est via putty depuis une machine Windows vista ,j'utilise nano depuis putty pour éditer mon script ,j'ai ouvert ScriptArchivage.sh et j'ai entrer la séquence "CTRL-V" + "CTRL-M". après j'ai enregister ,et dans la ligne de commande j'ai fait $ sed 's/^M$//' ScriptArchivage.sh j'ai essayer aussi avec $ sed 's/\x0D$//' ScriptArchivage.sh
mais ca ne marche pas , donc je ne sais pas si c'est comme ca qu'il faut faire ou pas .
Merci pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour,
voila le résultat
#!/bin/bash^M$
^M$
zip -r /donnees/Echange/`date -I`.zip /donnees/Corbeille/*^M$
^M$
^M$
^M$
voila le résultat
#!/bin/bash^M$
^M$
zip -r /donnees/Echange/`date -I`.zip /donnees/Corbeille/*^M$
^M$
^M$
^M$
Passes-y un petit coup de "unix2dos" :
jp@MDK:~/tmpfs ssh$ cat -A sanol #!/bin/bash^M$ ^M$ zip -r /donnees/Echange/`date -I`.zip /donnees/Corbeille/*^M$ ^M$ ^M$ ^M$ jp@MDK:~/tmpfs ssh$ dos2unix sanol jp@MDK:~/tmpfs ssh$ cat -A sanol #!/bin/bash$ $ zip -r /donnees/Echange/`date -I`.zip /donnees/Corbeille/*$ $ $ $ jp@MDK:~/tmpfs ssh$;-))
bonjour
j'ai essayé dos2unix ScriptArchivage.sh est ca donne ca
weblocal@web-local:/$ dos2unix ScriptArchivage.sh
dos2unix: Unable to create temporary file for converting ScriptArchivage.sh.
weblocal@web-local:/$
weblocal@web-local:/$ cat -A ScriptArchivage.sh
#!/bin/bash^M$
zip -r /donnees/Echange/`date -I`.zip . -i /donnees/Corbeille/*^M$
-- j'ai essayé également unix2dos ScriptArchivage.sh
j'ai le résultat suivant :
weblocal@web-local:/$ unix2dos ScriptArchivage.sh
unix2dos: Unable to create temporary file for converting ScriptArchivage.sh.
weblocal@web-local:/$
ainsi
weblocal@web-local:/$ cat -A ScriptArchivage.sh
#!/bin/bash^M$
zip -r /donnees/Echange/`date -I`.zip . -i /donnees/Corbeille/*^M$
Apres j'ai copié mon ScriptArchivage.sh dans /tmp
et quand j'ai fait dos2unix ScriptArchivage.sh rien ne s'est passé
weblocal@web-local:/tmp$ dos2unix ScriptArchivage.sh
weblocal@web-local:/tmp$
weblocal@web-local:/tmp$
weblocal@web-local:/tmp$ ./ScriptArchivage.sh
-bash: ./ScriptArchivage.sh: /bin/bash^M: bad interpreter: No such file or directory
weblocal@web-local:/tmp$
dans un notre répertoire ,celui dans lequel je veux planifier ce script je fait
weblocal@web-local:/etc/webmin/cron$ sudo sh ScriptArchivage.sh
zip error: Nothing to do! (/donnees/Echange/2009-07-02.zip)
weblocal@web-local:/etc/webmin/cron$ sudo ./ScriptArchivage.sh
sudo: unable to execute ./ScriptArchivage.sh: No such file or directory
weblocal@web-local:/etc/webmin/cron$
malgré qu'en ligne de commande directement si je rentre
zip -r /donnees/Echange/`date -I`.zip /donnees/Corbeille/*
ca marche et ca fait ce que je veux
j'ai essayé dos2unix ScriptArchivage.sh est ca donne ca
weblocal@web-local:/$ dos2unix ScriptArchivage.sh
dos2unix: Unable to create temporary file for converting ScriptArchivage.sh.
weblocal@web-local:/$
weblocal@web-local:/$ cat -A ScriptArchivage.sh
#!/bin/bash^M$
zip -r /donnees/Echange/`date -I`.zip . -i /donnees/Corbeille/*^M$
-- j'ai essayé également unix2dos ScriptArchivage.sh
j'ai le résultat suivant :
weblocal@web-local:/$ unix2dos ScriptArchivage.sh
unix2dos: Unable to create temporary file for converting ScriptArchivage.sh.
weblocal@web-local:/$
ainsi
weblocal@web-local:/$ cat -A ScriptArchivage.sh
#!/bin/bash^M$
zip -r /donnees/Echange/`date -I`.zip . -i /donnees/Corbeille/*^M$
Apres j'ai copié mon ScriptArchivage.sh dans /tmp
et quand j'ai fait dos2unix ScriptArchivage.sh rien ne s'est passé
weblocal@web-local:/tmp$ dos2unix ScriptArchivage.sh
weblocal@web-local:/tmp$
weblocal@web-local:/tmp$
weblocal@web-local:/tmp$ ./ScriptArchivage.sh
-bash: ./ScriptArchivage.sh: /bin/bash^M: bad interpreter: No such file or directory
weblocal@web-local:/tmp$
dans un notre répertoire ,celui dans lequel je veux planifier ce script je fait
weblocal@web-local:/etc/webmin/cron$ sudo sh ScriptArchivage.sh
zip error: Nothing to do! (/donnees/Echange/2009-07-02.zip)
weblocal@web-local:/etc/webmin/cron$ sudo ./ScriptArchivage.sh
sudo: unable to execute ./ScriptArchivage.sh: No such file or directory
weblocal@web-local:/etc/webmin/cron$
malgré qu'en ligne de commande directement si je rentre
zip -r /donnees/Echange/`date -I`.zip /donnees/Corbeille/*
ca marche et ca fait ce que je veux