如果我创建一个包含
#!/bin/bash
history
并运行它,我没有得到任何输出。在终端中手动运行它或source
使用脚本文件做产生输出。
为什么history
不能从文件中工作?
答案1
第二个命令确实“有效”,但对于非交互式 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