2010-07-28 11 views

Odpowiedz

120

Spróbuj:

echo $0 

To często działa w wielu różnych skorup.

+0

Nie działa z rybą – rominf

+0

@rominf: z 'fish' po prostu wpisz' $ ', a następnie' tab'. Zobaczysz grupę zmiennych '$ __ fish' i' $ fish' zdefiniowanych –

+0

To również nie działa z pliku źródłowego. – Steve

19
mac:~$ ps 
    PID TTY   TIME CMD 
    223 ttys000 0:00.33 -bash 

obsd:~$ ps 
    PID TT STAT  TIME COMMAND 
20038 p0 Ss  0:00.01 -ksh (ksh) 
22251 p0 R+  0:00.00 ps 

Albo po prostu echo $SHELL

+8

Myślę, że '$ SHELL' jest domyślną powłoką dla systemu (lub użytkownika), która zwykle (ale niekoniecznie) jest powłoką, która jest aktualnie używana w danym momencie. –

7

Każda znana mi skorupa ustawia zmienną $ ($$) na jej pid. Więc ...

ps | grep $$ 
+0

Ryba jest wyjątkiem. Musisz użyć% self – rominf

5

Jeśli używasz terminala OSX, to powłoka jest określona w pasku tytułowym terminal, gdy go uruchomić - tak: Terminal - ShellName - 80x24

+0

Myślę, że to jest poprawna odpowiedź. –

11

Komenda echo $SHELL daje powłokę nazwa względna wobec roota.

+0

SHELL nie ma gwarancji, że zostanie ustawione. Na przykład, moja powłoka logowania to bash, ale uruchamiam/bin/sh w linii poleceń, SHELL jest nadal/bin/bash, mimo że/bin/sh ls dash. –

+1

$ SHELL to powłoka logowania. Jeśli twoja powłoka logowania jest bash i uruchamiasz tcsh, to $ SHELL nadal będzie bash, nawet jeśli twoja powłoka to tcsh. –

+0

sprawdź # ps -p $$ | ogon -1 | awk "{wydrukuj 4 USD}" –

Powiązane problemy