【发布时间】:2016-03-11 08:24:20
【问题描述】:
我需要更改终端命令
stat file.txt | echo "File exists"
这样,如果文件不存在,我就不会得到任何输出,只有当它存在时才会得到回显部分。最简单的方法是什么?
谢谢!
【问题讨论】:
标签: bash command-line terminal command
我需要更改终端命令
stat file.txt | echo "File exists"
这样,如果文件不存在,我就不会得到任何输出,只有当它存在时才会得到回显部分。最简单的方法是什么?
谢谢!
【问题讨论】:
标签: bash command-line terminal command
echo 忽略它的标准输入,所以stat 产生什么(如果有的话)并不重要。此外,您无需运行stat 来检查文件是否存在。
[ -e file.txt ] && echo "File exists"
如果[ 命令的退出状态为零(当file.txt 存在时发生),则执行echo。否则,echo 不会被执行。
【讨论】:
stat 特有的东西。它产生的任何输出都会被管道右侧创建的子shell丢弃。
你的意思可能是:
stat file > /dev/null 2>&1 && echo "File exists"
【讨论】: