Perché `at` mi avverte che i comandi verranno eseguiti usando / bin / sh? E se volessi una shell diversa?


12

Ho provato a usare atdall'interno di una mia sceneggiatura e stampa:

attenzione: i comandi verranno eseguiti usando / bin / sh

Come avrei usato shell diverse se avessi voluto?

Risposte:


14

Sotto Linux, atti avverte sempre che eseguirà i comandi specificati con /bin/sh, anziché con la tua shell preferita. Non è possibile eliminare questo messaggio, è codificato nel codice sorgente.

Il comando che passi viene interpretato da /bin/sh. Questo comando può essere il percorso di uno script, se lo desideri; quindi /bin/sheseguirà il programma di script, causando l'avvio dell'interprete dello script e interpretando lo script. Il linguaggio dello script è completamente indipendente dal programma che lo avvia. Quindi, se ad esempio vuoi eseguire uno script bash (cioè uno script che inizia con #!/bin/bash), passa il percorso allo script ate ignora il messaggio irrilevante.


4

puoi farlo eseguendo da una shell diversa cambiando lo script shebang . Alcune linee tipiche di shebang:

#!/bin/sh — Execute the file using sh, the Bourne shell, or a compatible shell
#!/bin/csh -f — Execute the file using csh, the C shell,
#!/usr/bin/perl -T — Execute using Perl with the option for taint checks
#!/usr/bin/php — Execute the file using the PHP command line interpreter
#!/usr/bin/python -O — Execute using Python with optimizations to code
#!/usr/bin/ruby — Execute using Ruby

Per eseguire uno script in determinati momenti, ti suggerisco di aggiungere un cronjob

Esempio:

La riga seguente fa eseguire il programma utente test.pl — apparentemente uno script Perl — ogni due ore, a mezzanotte, 2am, 4am, 6am, 8am e così via:

0 * / 2 * * * /home/username/test.pl


#!/usr/bin/perlè già lo shebang nella mia sceneggiatura ma ricevo l'avvertimento
Cratylus l'

@Cratylus dai un'occhiata qui per una spiegazione.
vfbsilva,

+1 shbang e menzione di rubino e perl. Inoltre, considera l'utilizzo di "#! / Bin / env ruby".
ChuckCottrill,

il mio si lamenta ancora dopo #!/bin/sh....?
gloomy.penguin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.