bash - 在 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
谁能帮我解决我的问题。提前致谢
解决方案
复制函数中包含echo
并附>&2
加到新行的每一行,以将 stdout 重定向到 stderr。
推荐阅读
- asciidoctor - 为什么片段包含 spring-restdocs-asciidoctor 的错误?
- bash - 从位于其他服务器上的 CLI 程序获取数据的正确方法是什么?
- python - 使用 python3 打印字符串格式:如何从数组打印?
- varnish-vcl - varnish配置后端主机域名还是localhost?
- ios - CAShapeLayer的定位
- python - 我的代码有一个错误,缩进中的制表符和空格不一致尝试了一些修复,但没有任何效果
- google-app-engine - GCloud AppEngine 无法 ssh 进入标准实例
- javascript - 为什么当我来自另一个网站时,我的“欢迎”div 没有在 Safari 上显示,但在我刷新页面时显示?
- android - RecyclerView 平滑滚动动画
- php - 如何修复在wordpress帖子中显示为空的显示日期