2010-07-28 5 views

Répondre

120

Essayez:

echo $0 

Cela fonctionne souvent à travers une gamme de coquilles.

+0

Ne fonctionne pas avec du poisson – rominf

+0

@rominf: avec 'fish', tapez simplement $' et 'tab'. Vous verrez un tas de variables '$ __ fish' et' $ fish' définies –

+0

Cela ne fonctionne pas non plus dans un fichier source. – 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 

Ou echo $SHELL

+8

Je pense que '$ SHELL' est le shell par défaut pour le système (ou l'utilisateur), qui est généralement (mais pas nécessairement) le shell qui est réellement utilisé à un moment donné. –

7

Chaque shell que je connais définit la variable $ ($$) à son pid. Alors ...

ps | grep $$ 
+0

Le poisson est l'exception. Vous devez utiliser% self – rominf

5

Si vous utilisez le terminal OSx, puis la coque y est spécifiée la barre de titre du terminal lors du lancement - comme ceci: Terminal - ShellName - 80x24

+0

Je pense que c'est la bonne réponse. –

11

La commande echo $SHELL vous donnera votre shell nom relatif à la racine.

+0

SHELL n'est pas garanti d'être réglé. Par exemple, mon shell de connexion est bash, mais je lance/bin/sh sur la ligne de commande, SHELL est toujours/bin/bash même si/bin/sh ls dash. –

+1

$ SHELL est le shell de connexion. Si votre shell de connexion est bash et que vous lancez tcsh, alors $ SHELL sera toujours bash même si le shell que vous utilisez est tcsh. –

+0

consultez # ps -p $$ | queue -1 | awk '{print $ 4}' –

Questions connexes