2016-07-06 11 views
1

in tcsh $ ist das letzte Argument der letzten Befehlszeile:tcsh: var mit aktuellen Befehl

m:~> man find 
m:~> echo !$ 
find 

ich einen Weg bin auf der Suche die aktuelle Befehlszeile zu bekommen (vor eingegeben)

m:~> echo $current_comm 
echo 

Danke.

Antwort

2

!# bezieht sich auf den aktuellen Befehl. Es kann indiziert werden, indem ein : und eine Nummer angefügt werden.

Zum Beispiel:

% echo !#:0 
echo echo 
echo 
% 

(Die Shell druckt Geschichte Erweiterungen vor deren Ausführung, weshalb die echo echo Linie erscheint, ist.)

Eine aufwendigere Beispiel:

% echo arg1 arg2 arg3 COMMAND=!#:0 ARG1=!#:1 ARG2=!#:2 ARG3=!#:3 
echo arg1 arg2 arg3 COMMAND=echo ARG1=arg1 ARG2=arg2 ARG3=arg3 
arg1 arg2 arg3 COMMAND=echo ARG1=arg1 ARG2=arg2 ARG3=arg3 
% 

Für Weitere Informationen, man tcsh und suchen Sie nach "History Substitution".