我知道 bash 功能 !text,它运行以“text”开头的最后一个命令。但当“文本”包含空格时,它似乎不起作用。有时,搜索包含空格的内容很有用。
例如:
history | grep ping
514 ping 192.168.100.2
515 ping 192.168.100.3
516 ping 192.168.100.4
517 ping google.com
518 ping 192.168.100.5
519 ping 192.168.100.6
520 ping 192.168.100.7
Run Code Online (Sandbox Code Playgroud)
我想使用 ! 来调用线路“ping google.com”。特征。我尝试了一些事情,但失败了:
这是标准行为,它运行最后一个 ping 命令
/root# !ping
ping 192.168.100.7
Run Code Online (Sandbox Code Playgroud)
一个简单的字符串,后面有空格!不起作用
/root# !ping google
ping 192.168.100.7 google
Run Code Online (Sandbox Code Playgroud)
据我所知,引号告诉 bash 将带有空格的字符串解释为单个字符串,而不是 2 个单独的字符串。但在这里它并没有按预期工作。
/root# !"ping google"
bash: !"ping: event not found
/root# !'ping google'
bash: !'ping: event not found
/root# "!ping google"
"ping 192.168.100.7 google google"
/root# '!ping google'
bash: …Run Code Online (Sandbox Code Playgroud)