我知道!!
重新运行命令,但是如果我重新运行命令中包含变量的命令,到底会发生什么?
答案1
好吧,让我们尝试一下:
$ foo=bar
$ echo $foo
bar
$ foo=qux
$ !-2
echo $foo
qux
$ history
...
219 foo=bar
220 echo $foo
221 foo=qux
222 echo $foo
223 history
所以看来该命令已添加到历史记录中前发生变量扩展。
答案2
似乎一些尝试和错误可能会被证明是有用的,并很快为您提供结果。在你提出问题之前,最好自己尝试一下这些事情。因此,您可以提出知情且详细的问题:)
看来您对此还很陌生,也许以下内容对您有帮助?
$ history -c
$ FOOD="Bananas"
$ echo $FOOD
Bananas
$ history
137 FOOD="Bananas"
138 echo $FOOD
139 history
$ !138
echo $FOOD
Bananas
如您所见,该history
命令按预期工作。通过执行 138,我们执行了与第一次运行它时完全相同的命令。
专业提示:使用该man
命令可以阅读有关您感兴趣的命令的更多信息。前任:
man history
Q完成后键入退出。
干杯!