我想创建一个别名,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)