我知道!!
重新運行命令,但是如果我重新運行命令中包含變數的命令,到底會發生什麼?
答案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完成後鍵入退出。
乾杯!