In bash, if I run
(foo=14)
然后尝试在我的bash脚本中稍后引用该变量:
最初的回答:
echo "${foo}"
我不明白。我该如何让bash以我需要的方式存储这个变量?
具体来说,我在if语句中使用它并检查退出代码,类似于以下内容:
if (bar="$(foo=14;echo "${foo}"|tr '1' 'a' 2>&1)")
then
echo "Setting "'$bar'" was a success. It is ${bar}"
else
echo "Setting "'$bar'" failed with a nonzero exit code."
fi
tr
的退出代码没有任何意义。据我所知,如果从stdin读取并且未使用无效选项调用,则tr
始终返回退出代码0。在您的情况下,我看不到else
分支会被执行的可能性。 - user1934428