All'inizio di un file sul mio server (Linux), che si trova nella cartella /etc/init.d/ ho questa linea:Cosa fa la riga '!/Bin/sh -e'?
!/bin/sh -e
Che cosa significa, perché ogni volta che eseguo il resto dello script funziona bene tranne che per un errore che mostra:
!/bin/sh not found
Qualche idea?
Al momento, nessuno ha indirizzato il '-e', che non sembra essere una bandiera accettata dalla bash sul mio MacBook. – dmckee
@dmckee: sh! = Bash. 'man sh' (o' man dash') mostra '-e errexit: Se non interattivo, esci immediatamente se qualche comando non testato fallisce ...' –
A proposito @Camran, il motivo per cui funziona ancora senza correggere la linea di shebang è probabilmente perché stai chiamando direttamente l'interprete della shell, ad es 'sh myScript'. Con la riga shebang, è possibile impostare il file per essere eseguibile usando 'chmod + x ...' ed eseguirlo senza chiamare esplicitamente l'interprete. –