0
我试图在部署上创建配置文件,然后为每个配置文件运行我的程序,每次将配置加载到环境变量中。这是最接近我可以这样做:Bash为每个配置文件重新运行程序
# ADD CONFIG
mkdir /cfg
cat > /cfg/site.cfg << EOF
name = site
url = ftp.site.com # Location of data
username = test # Optional - Username credential
password = pass # Optional - Password credential
frequency = 1 # Optional - Update once a day
EOF
# ADD SCRIPT
cat > /run.sh << EOF
for f in cfg
do
echo "Processing $f"
#set env from config
#run program with env
done
如何设置的ENV乏用我的配置运行程序(因此它可以与特定的一组的要求来运行)
请问为什么使用bash -c命令而不是在引号内运行命令? – Jimmy
如果你不使用bash -c运行,那么你所有的配置文件都将在当前shell中找到,即在循环结束时,所有配置文件中的变量将成为当前shell的一部分。所以你目前的炮弹环境受到干扰。 bash -c在新shell中执行命令,因此您的当前shell不受影响。 –