Bash alias -=...(别名应该是一个简单的破折号)不起作用

lee*_*mes 15 bash alias

我想创建一个别名,cd -它应该只是一个破折号 ( -)。我试过没有成功:

alias -='cd -'     # bash: alias: -=: Invalid option
alias \-='cd -'    # bash: alias: -=: Invalid option
alias '-'='cd -'   # bash: alias: -=: Invalid option
alias '\-'='cd -'  # bash: alias: `\-': Invalid alias name.
Run Code Online (Sandbox Code Playgroud)

前三个是相同的(只有不同​​的输入,但是 bash 将它们全部转换为alias带有单个参数的相同命令-=cd -),因此错误消息相同也就不足为奇了。我猜如果参数以破折号开头,它会被解析为一个标志而不是别名。

甚至可以-用作别名吗?

Gil*_*il' 29

对于大多数命令,您可以--作为参数传递,并且所有后续参数都被视为操作数而不是选项,即使它们以破折号开头。aliasbash 中的内置函数识别--.

alias -- -='cd -'
Run Code Online (Sandbox Code Playgroud)