Je "débute" sous Debian, et j'ai un pb que je n'arrive pas à résoudre (mais que je n'avais pas sous Mdk).
Mes scripts (script.sh) commencent par
#!/bin/sh
quand je tape dans un xterm : ./script.sh, j'ai l'erreur
/bin/sh: bad interpreter: Permission non accordée
quand je tape : sh ./script.sh , ça se passe bien.
Et évidemment, sh est bien en /bin/sh
Ca m'embête surtout parce que je ne peux plus "cliquer" sur un script pour le lancer : il faut passer par la fenêtre de commandes.
Que se passe-t-il ?
Merci
# Droits
Posté par Pinaraf . Évalué à 2.
[^] # Re: Droits
Posté par charlieecho . Évalué à 3.
J'aurais du préciser effectivement, mais les droits sont ok.
# sh
Posté par Matthieu Moy (site web personnel) . Évalué à 3.
[^] # Re: sh
Posté par charlieecho . Évalué à 2.
[^] # Re: sh
Posté par nikitae . Évalué à 2.
sh est un alias de bash
j'irais même jusqu'à dire d'utiliser ksh(korn shell)
je le trouve plus cohérent et un peu plus puissant
[^] # Re: sh
Posté par Matthieu Moy (site web personnel) . Évalué à 2.
Pas toujours. Et /bin/ksh n'existe pas sur tous les systèmes que j'ai utilisés jusqu'ici. Donc, pour être portable, le mieux est encore /bin/sh.
[^] # Re: sh
Posté par nikitae . Évalué à 3.
# /etc/shells
Posté par Obsidian . Évalué à 3.
[^] # Re: /etc/shells
Posté par daggett . Évalué à 1.
# mount + noexec ?
Posté par kolter (site web personnel, Mastodon) . Évalué à 4.
tapes "mount" dans un terminal pourvoir les partitons montées ainsi que leurs options puis modifies ton fstab !!!
pour comprendre l'utilité ou la non-utilité de noexec => man mount !!
M.
[^] # Re: mount + noexec ?
Posté par kolter (site web personnel, Mastodon) . Évalué à 1.
d'ou ma question tu utilises une vraie debian, une ubuntu,ou une distrib basé sur debian ?
(àmoins que sarge ne fasse ce genre de choses mais je m'en souviens pas!)
M.
[^] # Re: mount + noexec ?
Posté par Boa Treize (site web personnel) . Évalué à 2.
[^] # Re: mount + noexec ?
Posté par Boa Treize (site web personnel) . Évalué à 2.
# Caractères parasites ?
Posté par daggett . Évalué à 2.
Vérifie que la ligne "#!/bin/sh" contient bien ce que tu crois, et qu'il n'y a pas de caractères invisibles supplémentaires, comme des sauts de lignes "MS-DOS": le kernel tenterait dans ce cas de trouver un /bin/sh^M au lieu de /bin/sh, par exemple.
Tu peux vérifier avec un "head -1 script.sh | od -c" qui doit te donner exactement:
0000000 # ! / b i n / s h \n
0000013
Si tu as par contre (remarque le \r en trop)
0000000 # ! / b i n / s h \r \n
0000013
ça peut venir de là. (par contre chez moi le message d'erreur ne serait pas le même que le tiens, j'ai juste ": bad interpreter: No such file or directory" puisque le \r écrase le début de la ligne)
# La réponse...
Posté par charlieecho . Évalué à 4.
Pour info, c'est une vraie Debian testing.
Merci à tous pour vos idées, et surtout à kolter pour la "bonne".
[^] # Re: La réponse...
Posté par Jllc . Évalué à 5.
Pour compléter : l'option user (ou users) implique les options noexec, nosuid, et nodev.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.