【发布时间】:2015-01-29 01:33:45
【问题描述】:
我想在我的“主”tcl 程序中植入多个 Bash 脚本 - 所以没有外部 .sh 脚本 - 我希望它们都在一个地方。我已经知道如何将 one 脚本植入 tcl:
set printScript { echo $HOME }
proc printProc {printScript} {
puts [exec /bin/bash << $printScript]
}
printProc $printScript
我现在的问题是: 如何使用这个概念来实现调用其他脚本的脚本而不将被调用脚本硬编码到调用脚本中? 假设我有这样的事情:
script1.sh
script2="$PWD/script2.sh"
#do some stuff
if [something]
then
$script2
fi
#do some more stuff
上面提到的概念可以用来解决我的问题吗?如何做到这一点?
【问题讨论】:
-
Bash 有功能,使用吧。
-
我有很多脚本调用两个脚本。我可以在 bash 中使用函数,但我仍然必须在每个脚本中定义该函数,这会导致重复代码...
-
脚本不多。用一个脚本代替许多功能。
-
你不能像这样混合两种不同语言的语法。做到这一点“可靠”(即极其复杂且极难维护)的唯一方法是将脚本作为 strings 保存在 TCL 脚本中,并将它们传递给
bash的标准输入。 @n.m。有正确的想法。 -
将所有函数写入一个脚本
function.sh,并通过在其他脚本中提及来使用该脚本的函数. ..../function.sh