On 05/10/22 18:35, Alessandro Rubini wrote:
strano... da shell at legge l'interprete da utilizzare dal file stesso mentre con l'opzione -f lo esegue con /bin/sh.No. Il comportamento e` uguale: passare da stdin o con "-f" con cambia niente: viene salvato da qualche parte per poi essere passato a /bin/sh. Cosi` dice la documentazione, cosi` ho fatto vedere che si comporta (dire se uno script asincrono ha fallito o no non e` banale, fargli fare "ps $$ > /dev/tty" e` facile e da` risultati certi. Si veda il mio messaggio.
eseguire nella shell il comando "#!/bin/sh" non produce nessun effetto essendo un commento. Se invece esegui un file sh sempre da shell at viene letto lo sheebang ed interpretato non più da sh ma dallo sheebang. Perché affermi che "dire se uno script asincrono ha fallito o no non e` banale"; guardare il codice di errore a me sembra semplice ed efficace mentre il tuo comando non l'ho capito; ho capito il senso ma non mi funziona e non ho capito bene cosa faccia. Scusa ma non tutti hanno le tue conoscenze!
Comunque sia che si lanci lo script da shell at, con il comando at -f, direttamente da shell sh o con il comando sh -c, viene utilizzata sempre la stessa shell /bin/shSe faccio "sh -c" ovviamente parte sh. Se faccio "bash -c" parte bash.
questo è lapalissiano, non ho capito cosa vuoi dire...
Probabilmente chiamare at con il parametro -f [...]Ragazzi, e` tutto *molto* piu` facile. "at" e` vecchio, e come tale usa /bin/sh come interprete. Probabilmente niente, e` cosi` e basta. Ricordiamo che le cose fatte bene sono facili, senza casi speciali. "-f" non e` un caso speciale, e` *come* dare da stdin.
secondo me questo non è vero: at -f ignora lo sheebang, la shell at no. Se metti lo sheebang nella shell at è chiaro che viene interpretato da sh per quello che è, un commento.
Almeno secondo il mio empirismo; se però riesci a mostrarmi il contrario ben venga!
Grazie mille Piviul