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

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

我想创建一个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.

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

它甚至可以用作-别名吗?

答案1

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

alias -- -='cd -'

相关内容