繁体   English   中英

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

[英]Bash variable substitution when using a command line argument file

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

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

我有一个使用配置文件运行的 bash 脚本:

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

它确实看到了我的路径,它将进入根目录或/目录,而不是进入我的/home/myuserdir/audit目录。 但是如果我在脚本中而不是在配置文件中声明变量,它就可以完美运行并且找到正确的目录。 我究竟做错了什么? 不幸的是,我必须使用配置文件运行脚本,以便于进行自定义。

我试图将语句包装在“” ,但它仍然不起作用。

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

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

我的配置文件

ConfigFileDir=/home/myuserdir/audit
ConfigFile=auditreport.csv

你的剧本

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM