Bash别名-=…(别名应为简单的破折号)不起作用


14

我想创建一个别名,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
永远不知道cd -
Marco Ceppi

@MarcoCeppi我都没有,直到今天。请查看commandlinefu.com/commands/browse/sort-by-votes,以获得更多不错的技巧!
leemes 2012年

Answers:


28

对于大多数命令,您可以将其--作为参数传递,并且所有后续参数都将被视为操作数而不是选项,即使它们以短划线开头也是如此。在aliasbash中内置的识别--

alias -- -='cd -'

1
哈哈!不知道 太好了,谢谢!:)
leemes 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.