BASH变量占位符替换
我有下面的脚本每说BASH变量占位符替换,bash,shell,variables,Bash,Shell,Variables,我有下面的脚本每说 #!/bin/bash #Define the variable placeholders NAME=[[NAME]] SAYS=[[SAYS]] echo "$NAME says $SAYS" 这是一个安装脚本,它坐在那里等待变量被替换,这样它就可以排队并与更多相同的脚本一起运行 如何替换控制脚本中的变量占位符?除非我遗漏了什么,否则这取决于您计划如何驱动它。一种可能性是创建一个驱动程序脚本,该脚本在调用脚本之前只需设置环境变量: file: so.sh #!/bin
#!/bin/bash
#Define the variable placeholders
NAME=[[NAME]]
SAYS=[[SAYS]]
echo "$NAME says $SAYS"
这是一个安装脚本,它坐在那里等待变量被替换,这样它就可以排队并与更多相同的脚本一起运行
如何替换控制脚本中的变量占位符?除非我遗漏了什么,否则这取决于您计划如何驱动它。一种可能性是创建一个驱动程序脚本,该脚本在调用脚本之前只需设置环境变量:
file: so.sh
#!/bin/bash
echo "$NAME says $SAYS"
然后在驱动程序脚本中:
$ NAME=dog SAYS=woof ./so.sh
dog says woof
除非我错过了什么,这取决于你打算怎么开车。一种可能性是创建一个驱动程序脚本,该脚本在调用脚本之前只需设置环境变量:
file: so.sh
#!/bin/bash
echo "$NAME says $SAYS"
然后在驱动程序脚本中:
$ NAME=dog SAYS=woof ./so.sh
dog says woof
像往常一样,您尝试过什么?显而易见的答案是sed,但是我只是想知道是否有更好的方法,当前的方法是使用EOF在控制脚本代码中将所有内容写入文件,all.sed、awk、python和perl都可以工作。另一个更好的方法是将变量放在该脚本源的单独文件中。一如既往,您尝试了什么?显而易见的答案是sed,但我只是想知道是否有更好的方法,当前的方法是使用EOF在控制脚本代码和all.sed、awk、python中将所有内容写入文件,perl将全部工作。另一个更好的方法是将变量放在这个脚本来源的单独文件中。@FredrikPihl:谢谢。我注意到你在评论中给出了正确的答案,而我正在键入相同的答案。@FredrikPihl:谢谢。我注意到你在评论中给出了正确的答案,而我正在输入相同的答案。