Bash
為什麼歷史命令在腳本文件中什麼都不做?
如果我創建一個包含
#!/bin/bash history
並執行它,我沒有得到任何輸出。在終端中手動執行它或
source
輸入腳本文件確實會產生輸出。為什麼
history
不能從文件工作?
第二個命令確實“工作”,但未為非互動式 shell 啟用歷史記錄,這就是它在腳本中不返回任何內容的原因。
在非互動式 shell 中測試預設值:
nohistory.sh
:#!/bin/bash set -o | grep history history
結果:
$ ./nohistory.sh history off
啟用歷史記錄
set -o history
:
history.sh
:#!/bin/bash set -o history set -o | grep history history
結果:
$ ./history.sh history on 1 set -o | grep history 2 history