重定向 ls 的标准错误

redirect stderr of ls

我正在尝试重定向 ls 命令的错误。但是我发现我的重定向是错误的。例如,如果我写了这个 ls 命令,

$ ls ;;;

终端说,

bash: syntax error near unexpected token `;;'

但是,我的重定向文件写了这个,

ls: cannot access ;;;: No such file or directory

如何捕捉重定向文件和终端之间的差异?

放;;;在引号中,bash 将始终将该参数传递给 ls 命令。没有引号 bash 正在尝试解析 ;;;,因此出现错误。

ls ';;;' 2> stderr.txt
< no output >

cat stderr.txt
ls: ;;;: No such file or directory