Bash 标准错误重定向

标签 bash standard-error

我正在尝试验证用户输入的输入是数字类型还是非数字类型。如果是数字类型,那么它将执行必要的操作,否则它将生成我设计的错误消息(不是生成的标准错误)

我一直在使用的步骤是:

1> 对输入进行数学运算。
echo -n "请输入数字:";读一个

现在如果输入 a 是数字类型,那么操作成功,否则将生成标准错误。

输入一个数字:ww

expr:非数字参数

我用来重定向标准错误的代码是:

tmp=`expr $a / 1` >&2

我还尝试使用以下代码将其重定向到空文件:

tmp=`expr $a / 1` > /dev/null

但是仍然显示错误。

最佳答案

您必须在内部表达式中重定向 stderr:

tmp=`expr $a / 1 2>/dev/null`

关于Bash 标准错误重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15986330/

相关文章:

bash - 模糊搜索Shell命令?

bash - 通过 xargs realpath 管道时如何过滤不存在​​的文件?

python - 用 Python 的 Popen 替换 Bash 风格的进程

r - Stata 和 R 中 Logit 回归的不同稳健标准误

r - 包含 NA 的数据的聚集标准错误

r - 计算离散时间马尔可夫链的标准误差和标准差

linux - 如何使用 ssh 在 Windows Server 中检索 bash shell 返回代码?

linux - 读取文件 "$"数据和 bash 脚本

r - 如何在 bar chat 中为多个变量制作错误栏

R使用bootstrap计算标准误差