Salve,
ho realizzato un piccolo script per automatizzare la mia connessione ad internet. Se digito:
# sh mystartadsl
non ci sono problemi. Però vorrei che lo script funzionasse digitando semplicemente
# mystartadsl
Il punto è che non so quale interprete bash scegliere. Ho già provato con questi:
#!/bin/bash (risultato di echo $BASH)
#!/usr/bin/sh (risultato di which sh)
#!/bin/sh (provato per disperazione)
Però ottengo sempre lo stesso errore:
bash: /home/rino/mysh/mystartadsl: /bin/sh: bad interpreter: Permission denied
c'è qualcuno che sa come fare?
mi scuso per la domanda banale ma il fatto è che sono alle prime armi con il bash scripting...
Cambia i permessi allo script, rendendolo eseguibile e prova a postare il tuo script qui, che vediamo di inserirgli la dichiarazione di quale shell usare
lo script credo di averlo reso eseguibile. Infatti se faccio
ls -l
ottengo:
...
-rwxrwxr-x 1 root users 71 25 feb 20:48 mystartadsl
...
cmq, lo script è semplicissimo:
#!/bin/sh
modprobe pppoatm
pppd call ueagle-atm
Ottieni lo stesso errore perché hai usato bash e link a bash ;-)
Segui il consiglio di ferdy :-D
Ciao
Quote:
ap1978 ha scritto:
Ottieni lo stesso errore perché hai usato bash e link a bash ;-)
scusa ma non credo di aver capito
sh è un link a bash, non un vero eseguibile. Quindi mettere:
#!/bin/bash
oppure
#!/usr/bin/sh
è esattamente la stessa cosa.
Ciao
x ap1978
ok, ora ho capito
x tutti
Però non credo che il problema risieda nel non aver reso eseguibile lo script, perché lo avevo gia fatto prima di postare digitando:
# chmod u+x mystartadsl
e poi se faccio ls -l ottengo
-rwxrwxr-x 1 root users 71 25 feb 20:48 mystartadsl
Prova a inserire il percorso completo dei comandi;
es:
/sbin/modprobe al posto di modprobe, lo stesso per pppd
Ciao, Al