首页 > 解决方案 > Bash 脚本,命令结束后更新输出

问题描述

我尝试了不同的方法,但到目前为止都没有奏效。

echo "Starting"

checklocation(){
if (command blabla)

then locationOne=$"Found"

else locationOne=$"Not found"

fi

}
checklocation &

echo "Let's check: " $locationOne

echo "Ending"

由于我的命令需要很长时间才能提供结果,因此我想在结果准备好后继续打印所有输出并显示 $locationOne 的值。以下代码可以一次很好地打印所有输出,但是 $locationOne 没有出现。我也尝试使用 printf 和 \r ,但没有运气。有什么建议么?

为了澄清,我想在命令完成后加载箭头指向的变量值

链接到图片

标签: bashshell

解决方案


echo "Starting"

checklocation(){
if (command blabla)
then
locationOne="Found"
else 
locationOne="Not found"
fi
}
echo "Calling function"
checklocation
echo "Let's check: " $locationOne
echo "Ending"

尝试按照上述更正,

分配locationOne变量时删除“ $ ”

同样在调用函数删除“ & ”时,忽略它,它被视为一个参数。

祝你好运 !!


推荐阅读