为什么我的 .bashrc 别名不起作用?

为什么我的 .bashrc 别名不起作用?

我在 .bashrc 中写了一行

alias untar='sudo tar –xvzf'

现在,当我在 bash 中使用“untar”时出现错误:

untar filename.tar.gz

tar: invalid option -- '�'
Try 'tar --help' or 'tar --usage' for more information.

但是当我使用实际命令而不是别名时

sudo tar –xvzf filename.tar.gz

它工作正常。

我确实运行了. ~/.bashrc,所以别名是“已知的”(或者不管你怎么称呼它)。这也从错误消息中可以看出,该消息承认它是一个 tar 命令。bashrc 中还有其他别名仍然可以正常工作。

那么,为什么我的别名不起作用?

答案1

您的别名中有一个错误字符,不是标准 ASCII 符号(减号),而是另一个字符,某些字体会将其呈现为较长的破折号。

这个别名对我有用

alias untar='sudo tar -xvf'

$ printf '-'|hexdump -C
00000000  2d                                                |-|
00000001
$ printf '–'|hexdump -C
00000000  e2 80 93                                          |...|
00000003

相关内容