On 04/10/22 15:00, Alessandro Rubini wrote:
Infatti se hai voglia di fare alcune prove ti accorgerai che se scheduli
ad esempio lo script che ho mandato[¹] da shell at (senza specificare
l'opzione -f di at per intenderci) non da errori, se lo scheduli con il
comando -f da errore. In entrambi i casi viene generato il warning
"commands will be executed using /bin/sh".
Preferisco il caso semplice, non "errore o non errore". Faccio "ps u $$"
per vedere che processo sta girando. Con "at" interattivo parte sh,
che ignora #!/bin/bash come commento:
laptopo% tty
/dev/pts/10
laptopo% at now; sleep 2
warning: commands will be executed using /bin/sh
at> #!/bin/bash
at> ps u $$ > /dev/pts/10
at> <EOT>
job 6 at Tue Oct 4 14:50:00 2022
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
rubini 14462 0.0 0.0 2420 528 ? SN 14:50 0:00 sh
Quindi gira sh. "sleep 2" l'ho messo per non avere il prompt in mezzo.
Con "-f" il risultato e` lo stesso:
laptopo% cat > /tmp/at
#!/bin/bash
ps u $$ > /dev/pts/10
Ciao Alessandro, secondo me hai semplificato un po' troppo. Dalla shell
at dovresti eseguire lo script /tmp/at non i comandi contenuti nello
script e se tutto andrà come credo dovrebbe mostrarti lo script /tmp/at
che ha come interprete bash... altrimenti non si spiegano le prove fatte
con il metodo di "errore o non errore".
Piviul