bash:防止重定向函数的错误与输出混合

用户名

想要从功能中获取用户的输入。但是,提示值(在这种情况下为“请回答y或n”)也包含在返回值中。

#!/bin/bash

input() {
    while true; do
        read -p "input y/n: " yn
        case $yn in
            [Yy]* ) yn="y"; break;;
            [Nn]* ) yn="n"; break;;
            * ) echo "Please answer y or n.";;
        esac
    done

    echo $yn
}

val=$(input)
echo "val is: $val"

如果首先输入错误值,则结果如下:

input y/n: other
input y/n: y
val is: Please answer y or n.
y

谢谢。

查尔斯·达菲

将错误回显到stderr(FD 2),而不是stdout(默认为FD 1):

echo "Please answer y or n." >&2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Bash脚本顺序混合在输出的大重定向中

来自分类Dev

bash重定向块代码输出到函数中

来自分类Dev

bash:与重定向输出混淆

来自分类Dev

bash:与重定向输出混淆

来自分类Dev

Bash 文件重定向错误?

来自分类Dev

如何将命令的输出重定向到函数但抑制错误并输出到控制台?

来自分类Dev

Bash输入和输出重定向

来自分类Dev

bash中的输入输出重定向

来自分类Dev

将错误重定向到标准输出

来自分类Dev

whatis命令输出重定向错误

来自分类Dev

输出错误重定向(关于stderr)

来自分类Dev

重定向标准错误并保留标准输出

来自分类Dev

将函数输出重定向到printf语句在bash中似乎不起作用

来自分类Dev

将函数输出重定向到printf语句在bash中似乎不起作用

来自分类Dev

bash如何将输出从函数重定向到/ dev / null

来自分类Dev

如何将CURL输出重定向到文件并作为bash函数参数

来自分类Dev

调用函数并防止被调用函数在PHP中执行重定向

来自分类Dev

在bash中从内部函数设置重定向

来自分类Dev

将函数的输出重定向到脚本输出

来自分类Dev

来自Bash的“歧义重定向”错误

来自分类Dev

防止Javascript重定向

来自分类Dev

stdout / stderr重定向无法防止/ dev / tcp / host / port重定向错误

来自分类Dev

bash标准输出无法重定向到文件

来自分类Dev

将我的bash的输出重定向到日志文件

来自分类Dev

bash:忽略退出代码,但保留输出重定向

来自分类Dev

Bash将输出重定向到tty和文件

来自分类Dev

检查bash脚本中是否有标准输出重定向

来自分类Dev

请帮助解释此bash输出重定向

来自分类Dev

运行{命令vs通过bash脚本} +重定向输出

Related 相关文章

热门标签

归档