如何导出bash脚本的每个函数以与gtkdialog一起使用?
我有一个bash脚本的形式:如何导出bash脚本的每个函数以与gtkdialog一起使用?,bash,shell,user-interface,export,Bash,Shell,User Interface,Export,我有一个bash脚本的形式: cat << EOF > stackoverflow_source.sh #!/bin/bash function f1 () { echo This is the first function. } function f2 () { echo This is the second function. } EOF 我得到: $ f1 This is the first function. 但是,当我在gui
cat << EOF > stackoverflow_source.sh
#!/bin/bash
function f1 () {
echo This is the first function.
}
function f2 () {
echo This is the second function.
}
EOF
我得到:
$ f1
This is the first function.
但是,当我在gui中单击相应的按钮时(即使在获取脚本之后),我得到
当我导出函数时
$ export -f f1 && export -f f2
它们在gui中工作(sh stackoverflow\u gui
并单击它们的按钮,回显文本)
是否有方法导出我的stackoverflow\u source.sh
脚本中的每个函数?(在我真正的源代码脚本中,我有数百个函数,我不想一个接一个地执行)。
或者,是否有更好的方法来做我想做的事?这应该适合您:
for func in $(declare -F | cut -f3 -d' ')
do
export -f $func
done
或者,更简洁(但可读性较差):
sh: f1: command not found
$ export -f f1 && export -f f2
for func in $(declare -F | cut -f3 -d' ')
do
export -f $func
done
export -f $(declare -F | cut -f3 -d' ')