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不受影響。 –