Псевдоним 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 -
Марко Чеппи

@MarcoCeppi Я тоже, до сегодняшнего дня. Оформить заказ commandlinefu.com/commands/browse/sort-by-votes для более приятных трюков!
Leemes

Ответы:


28

С большинством команд вы можете передавать --в качестве аргумента, и все последующие аргументы обрабатываются как операнды, а не опции, даже если они начинаются с тире. aliasВстроенный в Баш признает --.

alias -- -='cd -'

1
Хах! Не знал этого Хорошо, спасибо! :)
leemes
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.