2016-07-07 48 views
7

Vorrei sapere della mia versione di shell usando un comando di Linux. Ho provato il seguente comando, ma mostra il tipo del guscio sono inCome trovare la mia versione della shell usando il comando linux?

Comando:.

echo $SHELL 

Risultato:

/bin/bash 
+0

Si noti che è possibile utilizzare alcune shell strane, anche una che non è conforme a POSIX (ad esempio [pesce] (http://fishshell.com/) o [es] (https://wryun.github.io/es -conchiglia/)...). Dovresti sapere quale shell stai usando. Se è 'bash', in effetti prova' bash --version'. Oppure usa il tuo sistema di gestione dei pacchetti ('dpkg -l bash' su Debian o Ubuntu) –

risposta

12

Questo lo farà:

$SHELL --version 

Nel mio caso, l'output è:

zsh 5.0.2 (x86_64-pc-linux-gnu) 
+2

Non tutte le shell hanno l'opzione' --version', ma altre lo fanno, quindi probabilmente questa è la soluzione migliore. – torek

+1

Funziona @ Muhammad sumon Molla Selim – sago

+0

Ho alcuni cavilli su questo; vedi [la mia risposta] (https://stackoverflow.com/a/38240328/827263). –

4

Dipende se si desidera conoscere la versione della shell di accesso predefinita o la versione della shell attualmente in esecuzione. Non sono necessariamente uguali.

Per la shell di accesso predefinita, come dice la risposta accettata, è probabile che lo $SHELL --version funzioni. La maggior parte (ma non tutte) le shell accettano l'opzione --version. (dash no.) E ciò presuppone che il valore di $SHELL non sia stato modificato (ci possono essere validi motivi per farlo).

Per la shell si sta attualmente in esecuzione, se capita di essere bash è possibile digitare:

echo $BASH_VERSION 

Per tcsh:

echo $version 

Per zsh:

echo $ZSH_VERSION 

Per ksh:

echo $KSH_VERSION 

Per fish:

echo $version 

Ancora una volta, questo presuppone che la variabile in questione non è stato modificato (raramente c'è alcuna ragione non dannoso per cambiarlo).

Bash in particolare ha una variabile di matrice $BASH_VERSINFO che fornisce più informazioni in un modulo che è più facile da elaborare a livello di codice.

+0

Questa è una risposta migliore. – ocertat

Problemi correlati