Я хочу создать псевдоним для 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 -
), так что нет удивить сообщение об ошибке то же самое. Я предполагаю, что если аргумент начинается с тире, он анализируется как флаг, а не как псевдоним.
Можно ли вообще использовать -
в качестве псевдонима?
В большинстве команд вы можете передать --
в качестве аргумента, и все последующие аргументы будут обрабатываться как операнды, а не как опции, даже если они начинаются с тире. Встроенный в bash alias
распознает --
.
alias -- -='cd -'