我创建了一个名为 1.sh 的 shell 脚本文件,仅使用一个 echo 命令:
echo $HISTSIZE
我将文件 1.sh 设为可执行文件,并尝试通过运行命令在终端中运行该文件
./1.sh
它在终端上打印了一个空行。但是当我在 shell 提示符下运行此命令时,我得到 1000 作为输出。
为什么 echo 在我的 shell 脚本中不起作用?
答案1
您的脚本在非交互式 shell 中运行,默认情况下禁用历史记录(假设它支持历史记录,但sh
当今大多数实现都是这种情况);因此HISTSIZE
是空的。
如果你强制启用历史记录(至少在 Bash 中),你将获得默认值:
set -o history
echo $HISTSIZE