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