tr [az] [AZ]在unix中显示错误

ram*_*esh 2 unix tr

在unix中,该行echo "abc" | tr [a-z] [A-Z]显示以下错误:

    tr: extra operand `b'
    Try tr --help' for more information.
Run Code Online (Sandbox Code Playgroud)

ABC如果从同一服务器或任何其他服务器中的任何其他目录运行,它不会显示错误并输出正确的输出.在特定目录中,它显示上述错误.
我验证并发现没有这样的冲突文件或脚本.没有具有该名称的脚本tr.
which tr目录内部以及目录外部的命令给出相同的输出/usr/bin/tr.
取而代之的是tr,我甚至试图echo "abc" | /usr/bin/tr [a-z] [A-Z]避免与其他文件发生任何冲突,如果有的话.但同样的错误仍然存​​在.
如果我尝试echo "abc" | tr 'a' 'B',它会产生输出为Bbc.我无法弄清楚错误.

Ant*_*nko 7

tr 不需要括号:

tr a-z A-Z
Run Code Online (Sandbox Code Playgroud)

[a-z]对shell有特殊意义(扩展为匹配文件名列表).在一个不起作用的目录中可能存在匹配的文件(或几个匹配的文件).