/bin/bash per tutti gli script di init

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

/bin/bash per tutti gli script di init

Messaggio da conraid »

Pat ha cambiato /bin/sh in /bin/bash per tutti gli script di init, ma non per tutti gli script in /etc/rc.d (magari lo farà in seguito, chissà).

Secondo voi conviene farlo per tutti gli script in /etc/rc.d dei pacchetti autoprodotti?

Io mi son accordo di aver usato sh o bash quasi in modo random (a volte lascio semplicemente quel che c'è negli script dei sorgenti, altre le prendo da sbo)

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: /bin/bash per tutti gli script di init

Messaggio da ponce »

non ci sono problemi, a meno che qualcuno non lo cambi di proposito il link di default punta gia' da sh a bash quindi non e' che sia cosi' indispensabile...

comunque Pat lo ha gia' cambiato anche per tutti gli *.SlackBuild (e molto probabilmente lo faremo presto pure noi su SBo).

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: /bin/bash per tutti gli script di init

Messaggio da conraid »

Non parlo degli SlackBuild ma degli script di init, quelli dentro /etc/rc.d, alcuni son sempre con sh (per es. alsa o bind)

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: /bin/bash per tutti gli script di init

Messaggio da ponce »

non e' indispensabile a meno che tu nello script non usi costrutti specifici di bash, ad esempio la brace expansion: in quel caso, se il link viene cambiato e la nuova shell a cui punta non supporta quello specifico costrutto, allora lo script di init non funzionera' piu' come dovrebbe.
nello specifico rc.alsa e rc.bind potrebbero anche funzionare su altre shell quindi non e' indispensabile cambiare la shebang con /bin/bash.

comunque, nel caso i tuoi script siano gia' POSIX-compliant ma vuoi essere sicuro di non aver problemi anche in futuro (nel caso tu volessi metterci codice specifico di bash) cambia pure la shebang.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: /bin/bash per tutti gli script di init

Messaggio da conraid »

ok, perfetto.

Io in realtà cerco sempre di non usare "bashismi", ma non si sa mai.

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: /bin/bash per tutti gli script di init

Messaggio da ponce »

comunque se uno cambia il link alla shell predefinita di sistema, secondo me, e' perche' sa quello che fa: se poi qualcosa non funziona sono anche un po' cazzi suoi, per usare un francesismo :badgrin: (questa e' anche la policy che adottiamo su SBo).

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: /bin/bash per tutti gli script di init

Messaggio da conraid »

giusto :)

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: /bin/bash per tutti gli script di init

Messaggio da ponce »

Nel ChangeLog di qualche ora fa lo ribadisce espressamente
Pat ha scritto:a/mkinitrd-1.4.11-x86_64-24.txz: Rebuilt.
Change mkinitrd shebang to #!/bin/bash. Thanks to mumahendras3.
Still, don't point /bin/sh at a shell other than bash.

Rispondi