!$是最后一个命令行的最后一个参数:
m:~> man find
m:~> echo !$
find
我正在寻找获取当前命令行的方法(在输入之前)
m:~> echo $current_comm
echo
感谢。
答案 0 :(得分:2)
!#
指的是当前命令。可以通过附加:
和数字来编制索引。
例如:
% 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
并搜索"历史记录替换"。