GNU/Linux >> Linux Esercitazione >  >> Linux

È possibile emulare versioni precedenti di Bash?

È possibile emulare (è la parola giusta?) le versioni precedenti di Bash?

Sto usando 4.3.11 e sono curioso di sapere se i miei script sono compatibili con alcune versioni precedenti, ma non voglio effettivamente installare una versione precedente. Potrei scavare nei log delle modifiche e capire quali funzionalità sto usando che mancano rispetto alle versioni precedenti, ma sembra un po' noioso. Speravo invece in una sorta di opzione magica della riga di comando o comando di script (un pio desiderio, probabilmente).

Risposta accettata:

No, bash non può emulare versioni precedenti di bash. Ma è abbastanza facile configurare un ambiente di test che includa una versione precedente di bash.

L'installazione di versioni precedenti del singolo software è noiosa se devi installare manualmente ciascun pacchetto software, per non parlare della risoluzione delle incompatibilità della libreria. Ma c'è una soluzione più semplice:installa una distribuzione precedente . L'installazione di una distribuzione precedente, con un insieme coerente di software inclusi i pacchetti di sviluppo, costa circa $ 1 di spazio su disco rigido e forse un'ora per la prima configurazione.

Il pacchetto schroot semplifica l'installazione di una distribuzione Linux precedente (o più recente!) che è in esecuzione sullo stesso sistema del tuo normale sistema Linux. Puoi facilmente creare una configurazione schroot in cui puoi eseguire un programma in un ambiente (un chroot) in cui le directory di sistema puntano al software precedente, ma le directory home sono quelle dell'ambiente normale. Ho scritto una guida per le distribuzioni basate su Debian; puoi facilmente tornare a Debian slink (con bash 2.01.01) in questo modo.

Se vuoi testare con diverse varianti Unix, diverse architetture CPU o software molto molto vecchio, puoi eseguire altri sistemi operativi in ​​una macchina virtuale. C'è un po' più di sovraccarico (in RAM, spazio su disco, CPU e manutenzione), ma è comunque molto fattibile.


Linux
  1. È possibile tracciare i comandi integrati su Bash?

  2. È possibile che il completamento di Bash scorra le alternative?

  3. Come posso testare il mio script Bash su versioni precedenti di Bash?

  4. Esegui il comando bash sulla pipeline jenkins

  5. È possibile avere una cronologia bash consapevole della directory

Matrici Bash

Bash Shebang

Comando Bash printf

Come aggiornare a Fedora 32 Workstation da versioni precedenti

Matrice associativa in Bash

Come rimuovere le versioni precedenti del kernel Linux in Ubuntu