错误的BASH-从bash脚本返回变量

时间:2015-09-14 13:20:52

标签: linux bash variables

我想通过bash脚本检查$ HISTFILE(或任何类似的BASH-Variable)的值。在命令控制台上'echo $ HISTFILE'是我通常使用的方式,但是来自bash脚本,其中只包含:

    #!/bin/bash
    echo $HISTFILE

给出一个空行而不是显示$ HOME / $ USER / .bash_history(或类似的返回值)。我的问题是:

  1. 这样做的原因是什么(因为我从未遇到过使用bash脚本的麻烦)和
  2. 如何从bash脚本中检查BASH-Variables(如$ HISTFILE)的值?
  3. 非常感谢提前。干杯,M。

1 个答案:

答案 0 :(得分:1)

HISTFILE仅在交互式shell中设置;脚本在非交互式shell中运行。比较

$ bash -c 'echo $HISTFILE' # non-interactive, no output

$ bash -ic 'echo $HISTFILE' # interactive, produces output
/home/me/.bash_history

但是,强制脚本在交互式shell中运行也会导致您的.bashrc文件被采购,这可能是也可能不是。