GNU/Linux >> Linux Esercitazione >  >> Linux

Suggerimenti per la shell Unix:cambia la shell di accesso da Bash ad altre

Domanda: Come faccio a sapere quale shell Unix sto utilizzando attualmente? Puoi anche spiegare come posso cambiare la mia shell Unix sia temporaneamente che permanentemente? (Ad esempio, da bash a tsh).

Risposta: Puoi ottenerli usando $0, exec, chsh -s . In questo articolo, esaminiamo in dettaglio come eseguire queste operazioni.

1. Qual è la mia attuale shell Unix?

Usa il comando echo $0 per ottenere il nome della shell corrente come mostrato di seguito.

$ echo $0
/bin/bash

2. Come cambiare la mia shell attuale in un altro tipo – temporaneamente?

Usa il comando exec per cambiare temporaneamente la tua shell come mostrato di seguito.

$ echo $0
/bin/bash

$ exec /bin/sh

$ echo $0
/bin/sh

Nota: La modifica di cui sopra è temporanea. Quando esegui nuovamente il login, tornerai alla shell originale.

3. Come cambiare la mia shell attuale in un altro tipo - in modo permanente?

Per cambiare la tua shell in modo permanente, usa chsh comando come mostrato di seguito.

$ chsh -s /bin/sh
Password:

Nota: La modifica di cui sopra è permanente. Anche dopo il nuovo accesso, vedrai solo la nuova shell.

4. Come posso scoprire tutte le shell disponibili nel mio sistema?

Tutte le shell disponibili si trovano nel file /etc/shells.

$ cat /etc/shells
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
/bin/ksh93

Per modificare la shell di accesso, puoi farlo solo dall'output sopra. Ma per cambiare la shell corrente, puoi passare a qualsiasi shell disponibile.

5. Installazione della nuova shell

Puoi installare una nuova shell (ad esempio, ksh) come mostrato di seguito. Dopo aver installato la nuova shell, puoi usarla come shell di accesso permanente o shell temporanea per le tue operazioni da riga di comando.

$ sudo apt-get install ksh

Linux
  1. Personalizzazione della shell Bash

  2. Array in Unix Bourne Shell?

  3. Come cambiare Cron Shell (sh To Bash)?

  4. Funzioni nelle variabili Shell?

  5. Come modificare (permanentemente) la shell predefinita dopo l'accesso su un Ttyn specifico in Linux?

.bashrc vs .bash_profile

Come modificare una shell utente in Linux

Che cos'è Login Shell in Linux?

CentOS / RHEL:come modificare la shell di accesso dell'utente

Come eseguire uno script di shell su una console Unix o un terminale Mac?

Cronologia BASH troncata a 500 righe a ogni accesso