View previous topic :: View next topic |
Author |
Message |
adrienleroy n00b
Joined: 02 Dec 2004 Posts: 74 Location: Lille,France
|
Posted: Thu Nov 09, 2006 12:22 pm Post subject: [zsh] scripts bash |
|
|
bonjour
Cela fait bientot deux mois que je suis sous zsh, et j'utilise encore des scripts écrits en bash. Le problème est que je ne peut les exécuter uniquement si j'ajoute /bin/bash avant le script. Pourtant le fait d'avoir #!/bin/bash devrait me permettre d'éviter cela?
Pour info j'ai cette erreur quand je ne rajoute pas /bin/bash :
Code: | zsh: permission denied: ./media/script/wmatogg |
Si vous avez des pistes je suis preneur. |
|
Back to top |
|
|
Darkael Veteran
Joined: 10 Aug 2004 Posts: 1321 Location: France
|
Posted: Thu Nov 09, 2006 12:31 pm Post subject: |
|
|
À mon avis cette erreur est plutôt due au fait que le fichier n'est pas exécutable
Code: |
chmod +x ./media/script/wmatogg
|
|
|
Back to top |
|
|
adrienleroy n00b
Joined: 02 Dec 2004 Posts: 74 Location: Lille,France
|
Posted: Thu Nov 09, 2006 12:55 pm Post subject: |
|
|
tous mes scripts sont bien exécutables. |
|
Back to top |
|
|
Darkael Veteran
Joined: 10 Aug 2004 Posts: 1321 Location: France
|
Posted: Thu Nov 09, 2006 1:08 pm Post subject: |
|
|
Hmm, peut-être que tes scripts sont sur une partition montée avec noexec?
Et sinon, que se passe t'il si tu les lances depuis bash? |
|
Back to top |
|
|
Bapt Veteran
Joined: 14 Apr 2003 Posts: 1152 Location: Paris
|
Posted: Thu Nov 09, 2006 1:17 pm Post subject: |
|
|
Si tu veux pouvoir executer un script bash (utilisant les spécificité bash) avec zsh tu rajoute au début de ton script
A ce moment là zsh va émuler le comportement de bash.
Essaye de passer en mode verbose ton zsh, il sera peut être un peu plus parlant :
Code: | setopt XTRACE VERBOSE |
ou
|
|
Back to top |
|
|
adrienleroy n00b
Joined: 02 Dec 2004 Posts: 74 Location: Lille,France
|
Posted: Thu Nov 09, 2006 2:23 pm Post subject: |
|
|
tous mes scripts marche sous bash sans probleme sont sur une partition executable.
quand j'active le mode verbose:
Code: |
./media/script/wmatogg
+/bin/zsh:10> ./media/script/wmatogg
zsh: permission denied: ./media/script/wmatogg
|
|
|
Back to top |
|
|
Darkael Veteran
Joined: 10 Aug 2004 Posts: 1321 Location: France
|
Posted: Fri Nov 10, 2006 12:24 am Post subject: |
|
|
Là je sais pas trop
Est-ce que ça le fait aussi pour des autres trucs comme des scripts perl par exemple? |
|
Back to top |
|
|
Zazbar Apprentice
Joined: 26 Jul 2005 Posts: 279 Location: Paris Time
|
Posted: Fri Nov 10, 2006 12:35 am Post subject: |
|
|
Deux petites questions est ce que les commandes suivantes fonctionnent :
Code: | > /bin/bash /media/script/wmatogg |
(peut être ton user a pas les droits sur bash .... )
et
donner le résultat de la commande :
et le répertoire /media/script ? c'est quoi un point de montage ? un répertoire qui se trouve sur la même partoche ? _________________ Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et montrer qu'on l'est. -- P. Dac - Pensées |
|
Back to top |
|
|
Bapt Veteran
Joined: 14 Apr 2003 Posts: 1152 Location: Paris
|
Posted: Fri Nov 10, 2006 8:58 am Post subject: |
|
|
ton /media/script ne serait pas une clé USB ou un disque en fat32 ?? |
|
Back to top |
|
|
adrienleroy n00b
Joined: 02 Dec 2004 Posts: 74 Location: Lille,France
|
Posted: Fri Nov 10, 2006 10:14 am Post subject: |
|
|
le répertoire se trouve sur mon disque dur en ext3, mais je ne pense pas que cela soit liée à l'emplacement des scripts car j'ai le même problème avec certains situés dans mon répertoire root. De plus tous mes scripts( python, perl, bash...) marchent uniquement si avant je rajoute l'interpréteur adéquate devant leur chemin.
Cela m' amène a me poser la question suivante : Dans un script quelconque , le fait de spécifier en entête #!/chemin/vers/interpréteur doit permettre au shell de savoir quel interpréteur utiliser pour le script donnée non? |
|
Back to top |
|
|
Bapt Veteran
Joined: 14 Apr 2003 Posts: 1152 Location: Paris
|
Posted: Fri Nov 10, 2006 1:23 pm Post subject: |
|
|
adrienleroy wrote: | Cela m' amène a me poser la question suivante : Dans un script quelconque , le fait de spécifier en entête #!/chemin/vers/interpréteur doit permettre au shell de savoir quel interpréteur utiliser pour le script donnée non? |
Oui le #!/bin/bash fera que ton script sera interprété par bash et non par zsh, en revanche ton message d'erreur signifie que ton script n'est pas exécutable ou que tu n'as pas le droit sur /bin/bash
peux tu nous mettre un ls -l de ton /media/script/tonscript
peux tu nous mettre un ls -l de ton /bin/bash
et enfin un head de ton /media/script/tonscript |
|
Back to top |
|
|
|