tcsh: var 与当前命令

tcsh: var with current command

在 tcsh 中!$ 是最后一个命令行的最后一个参数:

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

我正在寻找获取当前命令行(输入前)的方法

m:~> echo $current_comm
echo

谢谢。

!#指的是当前命令。它可以通过附加一个 : 和一个数字来索引。

例如:

% echo !#:0
echo echo
echo
% 

(shell 在执行它们之前打印历史扩展,这就是 echo echo 行出现的原因。)

一个更详细的例子:

% 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
% 

有关详细信息,man tcsh 并搜索 "History substitution"。