我正在尝试在bash -c "..."
命令内部引用一个bash脚本,但是它不起作用。
如果我在bash -c "..."
之外运行该命令,则可以正常工作。
我需要使用bash -c "..."
,因为我想确保人们使用的是Bash(而非sh、tcsh等)。
正常工作:
bash> source /neuro/arch/scripts/neuro-fs stable;echo $XAPPLRESDIR;
/neuro/arch/x86_64-Linux/packages/matlab/MATLAB_Compiler_Runtime/current/X11/app-default
无法工作:
bash> bash -c "source /neuro/arch/scripts/neuro-fs stable;echo $XAPPLRESDIR;"
在Bash脚本中,我们将
XAPPLRESDIR
定义为以下内容:export XAPPLRESDIR=/neuro/arch/x86_64-Linux/packages/matlab/MATLAB_Compiler_Runtime/current/X11/app-defaults
在脚本开头加上或不加上
#!/bin/bash
似乎没有任何区别。在这种情况下,使用export是不是一种“不好”的做法?