我有file1
:
#!/usr/bin/env bash
source $HOME/file2
answer=$(calculate)
echo "Answer is: $answer"
和file2
:
#!/usr/bin/env bash
function calculate(){
local result=$(echo $((RANDOM%2)))
[ $result -gt 0 ] && exit 1
echo "$result" ## this line was missed and was just added
}
问题是calculate
函数永远不会退出,即Answer is:
不管函数输出是什么,该行都会被打印出来。在两个文件或其中一个文件的顶部
插入set -u
或也没有帮助。
我也试过让它退出使用,但仍然没有运气。set -eu
return 1