我想通过 bash 脚本检查 $HISTFILE(或任何类似的 BASH 变量)的值。在命令控制台上,“echo $HISTFILE”是我通常使用的方式,但是来自 bash 脚本,它只包括:
#!/bin/bash
echo $HISTFILE
给出一个空行而不是显示 $HOME/$USER/.bash_history(或类似的返回值)。我的问题是:
- 这样做的原因是什么(因为我在使用 bash 脚本时从来没有遇到过这样的麻烦)和
- 如何从 bash 脚本中检查 $HISTFILE 等 BASH 变量的值?
非常感谢。干杯,M.
最佳答案
HISTFILE
仅在交互式 shell 中设置;脚本在非交互式 shell 中运行。比较
$ bash -c 'echo $HISTFILE' # non-interactive, no output
$ bash -ic 'echo $HISTFILE' # interactive, produces output
/home/me/.bash_history
但是,强制脚本在交互式 shell 中运行也会导致您的 .bashrc
文件被获取,这可能是合意的,也可能不是合意的。
关于linux - 从 bash 脚本返回错误的 BASH 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32565943/