33.9. Portabilità

Questo libro tratta specificamente dello scripting di Bash su un sistema GNU/Linux. Nondimeno, gli utilizzatori di sh e ksh vi troveranno molti utili argomenti.

Attualmente, molte delle diverse shell e linguaggi di scripting tendono ad uniformarsi allo standard POSIX 1003.2. Invocare Bash con l'opzione --posix, o inserire nello script l'intestazione set -o posix, fa sì che Bash si conformi in maniera molto stretta a questo standard. Un'altra alternativa è usare nello script l'intestazione

#!/bin/sh
al posto di
#!/bin/bash
Va notato che /bin/sh è un link a /bin/bash in Linux e in alcune altre versioni di UNIX, e che uno script così invocato disabilita le funzionalità estese di Bash.

La maggior parte degli script Bash funzionano senza alcuna modifica con ksh, e viceversa, perché Chet Ramey sta alacremente adattando per Bash, nelle sue più recenti versioni, le funzionalità di ksh.

Su una macchina commerciale UNIX, gli script che utilizzano le funzionalità specifiche GNU dei comandi standard potrebbero non funzionare. Negli ultimi anni questo è diventato un problema meno rilevante, dal momento che le utility GNU hanno rimpiazzato una parte piuttosto consistente delle analoghe controparti proprietarie, persino sui "grandi cervelloni" UNIX. Il rilascio, da parte di Caldera, dei codici sorgente di molte delle utility originali UNIX ha accelerato questa tendenza.

Bash possiede alcune funzionalità non presenti nella tradizionale shell Bourne. Tra le altre:

Vedi Bash F.A.Q. per un elenco completo.