Historyコマンドがスクリプトファイルで何もしないのはなぜですか?

Historyコマンドがスクリプトファイルで何もしないのはなぜですか?

以下を含むファイルを作成すると、

 #!/bin/bash 
 history

実行しても何の結果も出ません。端末で手動で実行するか、sourceスクリプトファイルを使用してください。する出力を生成します。

historyファイルで作業できないのはなぜですか?

ベストアンサー1

2番目のコマンドは「動作」しますが、非対話型シェルでは履歴が有効になっていないため、スクリプトは何も返しません。

非対話型シェルでデフォルト値をテストします。

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

おすすめ記事