Shu*_*man 3 linux shell command csh
如命令
myCommand !* &
Run Code Online (Sandbox Code Playgroud)
&是在bg中运行,但是什么是!*?在任何地方都找不到,C shell如今不在任何地方使用...
!是历史替换的开始。!*表示“来自先前命令的所有参数”。
因此,如果您首先这样做:
echo foo bar baz
Run Code Online (Sandbox Code Playgroud)
然后做
myCommand !* &
Run Code Online (Sandbox Code Playgroud)
第二条命令等效于:
myCommand foo bar baz &
Run Code Online (Sandbox Code Playgroud)
如果这是别名定义的一部分,则“先前”命令实际上是别名的调用。所以如果你写
alias myc 'myCommand !* &'
Run Code Online (Sandbox Code Playgroud)
然后写
myc foo bar baz
Run Code Online (Sandbox Code Playgroud)
扩展为
myCommand foo bar baz &
Run Code Online (Sandbox Code Playgroud)