考虑这个脚本摘录:
tpl文件内容:
FULL_ACCESS_USER_TPL="id=FA_SEND action = OK sender == $EMAIL"
脚本内容
source tpl
EMAILS="foo@domain.tld bar@domain.tld"
for EMAIL in $EMAILS
do
echo $FULL_ACCESS_USER_TPL
done
期望的输出:
id=FA_SEND action = OK sender == foo@domain.tld
id=FA_SEND action = OK sender == bar@domain.tld
当我运行脚本时,我什么都没得到,但是如果我把source tpl
放在循环中,我得到了我想要的东西。
我可以使用'全局'来源文件,以便在整个脚本中使用它们吗?
答案 0 :(得分:0)
在tpl中创建一个函数,然后调用函数:
$ cat tpl
function FULL_ACCESS_USER_TPL() {
echo "id=FA_SEND action = OK sender == $EMAIL"
}
$ cat script.sh
source tpl
EMAILS="foo@domain.tld bar@domain.tld"
for EMAIL in $EMAILS
do
FULL_ACCESS_USER_TPL
done
问题在于,当您使用tpl时,EMAIL
未设置。