我想要实现的目标
- 用户会提供一个远程执行的命令。命令(远程执行协议(protocol))可以是 SSH/RSH...等。所以我希望它成为配置文件或模板文件的一部分(假设参数在协议(protocol)中是固定的),如下例 -
template.cfg 文件(由用户配置):
ssh $ip $commandList
我会在另一个数据文件中生成一个值列表,其中包含 IP 地址和命令列表。喜欢
10.182.215.214|echo $UNAME 10.251.142.142|echo $SHELLNAME
我想要一个名为
driver.sh
的脚本,它在执行时会使用从模板到另一个执行脚本的命令生成实际的脚本/脚本 -execute。 sh
问题
- 如何根据模板/插件生成脚本(可以随意提供命令)?
- 如果数据是在在线应用程序 (C/C++) 中生成的,除了正常的基于文件的操作(从 cfg 文件读取并更新
execute.sh
)是否有更好的方法?
最佳答案
1.
while IFS=\| read ip commandList
do eval echo $(<template.cfg)
done <data >execute.sh
您可能想在 data
文件中引用变量扩展。
2。
由于您希望用户提供的命令成为配置文件的一部分,因此除了从 cfg 文件中读取外别无他法;另一方面,您可以直接执行生成的命令,而不是将它们写入 execute.sh
。
关于c++ - 基于模板的shell脚本生成命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11686582/