首页 > 解决方案 > 在 bash 脚本中的函数内部读取 -p

问题描述

我正在尝试编写函数,包括read -p,但是,由于某种原因,read -p总是在其他命令之前先显示,尽管其他命令在之前read -p。这是我的代码:

function try {
    temp=10
    echo "$temp"
    while [[ $temp -gt 0 ]]
    do
        read -p  "what num do you want?" num
        echo "$num"
        temp=$((temp -  num))
        echo $temp
    done
}
run=`try`
echo "$run"

如上面的代码,我希望在语句“”之前看到 temp 的值what num do you want?。但是,我得到了:

what num do you want?5
what num do you want?5
10
5
5
5
0

谁能帮我解决我的问题。提前致谢

标签: bash

解决方案


复制函数中包含echo并附>&2加到新行的每一行,以将 stdout 重定向到 stderr。


推荐阅读