![](/img/trans.png)
[英]How can I assign the output of a function with parameters to a variable using bash?
[英]In Bash, how can I modify a global variable in a function of a module?
我的脚本中有一个全局变量:
export _ERR
. library.sh #import my functions
在library.sh中,我想在函数A中进行设置:
function_a ()
{
[[ -f /mnt/file.txt ]] && {
_ERR="Error file does not exist"
}
}
然后在主脚本中调用函数A
output=$(functionA)
如果$ ERR不为空,则显示$_ERR
:
[[ -n _ERR ]] && echo ${_ERR}
但是_ERR在我的主脚本中始终为空。
我究竟做错了什么?
通过使用命令替换捕获输出,可以在子shell中运行该函数。 子外壳程序无法更改父外壳程序中的变量值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.