使用 tr 命令读取权限

using tr command to read permission

我执行了以下命令

[root@gblabvl31 Aakash]# cat > file1.txt
-rwx
[root@gblabvl31 Aakash]# cat file1.txt |tr '[-rwx]' '[0421]' > file2.txt
[root@gblabvl31 Aakash]# cat file2.txt
-]]]

我无法理解为什么预期输出是

0421

没有达到

去掉字符class:

$ tr -- '-rwx' '0421' <<<'-rwx'
0421

tr 有点特殊,期望它的参数已经是字符 类,因此

$ echo '-rwx' | tr -- '-rwx' '0421'
0421

产生了预期的结果。