使用命令行参数文件时的Bash变量替换

时间:2019-06-16 22:34:48

标签: bash variables substitution

FILEDIR=/home/myuserdir/audit
FILE=auditreport.csv

上面的变量在我的配置文件中。

我有这个bash脚本,该脚本与我拥有的配置文件一起运行:

for file in `ls ${FILEDIR}/${FILE}`

它确实看到了我的路径,它进入了根目录或/目录,而不是进入我的/home/myuserdir/audit目录。但是,如果我在脚本中而不是配置文件中声明了变量,则该变量可以完美工作并找到正确的目录。我究竟做错了什么?不幸的是,我必须将脚本与配置文件一起运行才能轻松进行自定义。

我试图将语句包装在“”中,但仍然无法正常工作。

预期结果是我希望脚本转到/home/myuserdir/audit而不是主目录。

1 个答案:

答案 0 :(得分:0)

您必须获取配置文件,而不仅仅是启动它!

my.config

# source my.config at the top of your script
source my.config

# and use the variables
echo "$ConfigFileDir/$ConfigFile"

您的脚本

npm install npm@latest -g