You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux中使用until调用find找到文件后如何省略输出匹配结果

解决方案

find命令默认会将匹配到的文件路径打印到标准输出,你只需要将这部分输出重定向到空设备/dev/null丢弃即可,该操作不会影响until对命令退出状态的判断。

修改后的代码

版本1:仅隐藏找到文件时的输出,保留找不到文件的错误提示

until find "$filename" > /dev/null
do
  echo "Please re-enter text file name:"
  read filename
done

版本2:完全隐藏find命令的所有输出(包括错误提示)

until find "$filename" > /dev/null 2>&1
do
  echo "Please re-enter text file name:"
  read filename
done

补充说明

  • 代码中给$filename加上双引号是为了兼容文件名包含空格、特殊字符的场景,避免执行报错。
  • 如果你只是需要判断普通文件是否存在,不需要用到find的复杂查找能力,更简单的写法是直接用系统自带的文件判断语法:
    until [ -f "$filename" ]
    do
      echo "Please re-enter text file name:"
      read filename
    done
    
    这种写法执行效率更高,也不需要额外处理输出重定向。

内容的提问来源于stack exchange,提问作者Chew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 11:15:01