如何忽略ls命令中No such file directory的错误?

How to ignore the error No such file directory in the ls command?

如何忽略错误No such file directory

ls /opt/data/config/run_*.config | cut -f1 -d '.' | cut -f2 -d '_' 2>/dev/null
ls: cannot access /opt/data/config/run_*.config: No such file or directory

您正在执行以下操作:

ls <something> | cut <some_cut> | cut <some_other_cut> 2>/dev/null

这将执行第一个 ls,第一个和第二个 cut,当第二个 cut 产生错误时,它将被发送到 [=15] =] 设备(这意味着它将被删除)。

如果要去除任何命令的错误信息,需要紧跟在相应的命令之后,所以得到三种情况:

Case 1: ls <something> | cut <some_cut> | cut <some_other_cut> 2>/dev/null
Case 2: ls <something> 2>/dev/null | cut <some_cut> | cut <some_other_cut>
Case 3: ls <something> 2>/dev/null | cut <some_cut> 2>/dev/null | cut <some_other_cut> 2>/dev/null

情况 1 是您现在遇到的情况。
情况 2 和 3 是可能的解决方案:情况 2 仅删除来自 ls 命令的错误消息,而情况 3 删除来自每个命令的错误消息。