Вопрос связан с исследовательской практикой. Таким образом, я считаю, что этот вопрос подходит только в научных кругах ГП. Я скопировал и вставил и увидел то же несколько раз эффект. Кошельки совпадают в том, что они имеют одинаковые адреса. @JakobLenfers я не знал об этом. Вопрос обновлен. Если вы делаете это для удовольствия, я думаю, что ответ будет "учиться на любом уровне детализации, вы найдете самых веселых". (Ответы на "что делать" вопросы на этом сайте, как правило, напрямую вытекает из "какова ваша цель.") @Random832 действительно, на сайте не допускаются комментарии, чтобы быть отредактированы через 5 минут, и я был слишком ленив, чтобы удалить мой оригинальный комментарий и репост. Цель "*уточнить*" бит в мой 2-ой комментарий был мой первый комментарий. Какое объяснение авиакомпании за то, что ваш багаж якобы на ЛГА?

У меня есть функции для выполнения одной команды в другую категорию. компакт-диск 1 SOMEDIR MYCOMMAND АРГ... эквивалентно (на CD SOMEDIR && MYCOMMAND АРГ...), с двумя плюсами. Это немного легче типа (а когда вы в командной строке наркоман, каждое нажатие вопросы), и (в основном), это позволяет мне сделать завершение относительно SOMEDIR.

То есть, это позволяет мне определить завершение функции для СД1. Как мне устроить, чтобы завершить отношению к SOMEDIR?

Следующие методы не работают без изменений:

  • Делать специальные вызовы _FILES больше с измененным аргументом для аргументов команды ничего хорошего здесь (в отличие от там), потому что я хочу все обычные контекстной завершения применять.
  • (кд слов[2] && шифт 2 слова && ((ток=2)) && _normal) поступит правильно, если окончания работал в подоболочку, но это не так.
  • компакт слов[2] && шифт 2 слова && ((ток=2)) && _normal; диски CD $OLDPWD работает в номинальном случаях, но ломает и оставляет меня в SOMEDIR в некоторых случаях, например, если я нажму сочетание клавиш Ctrl+С , чтобы отменить завершение, что занимает слишком много времени.

Вот определение СД1. Он поддерживает псевдонимы и расширяет подстановочные знаки относительно целевого каталога (с другой стороны, команду заменами и будет по-прежнему работать в исходный каталог).

cd1_glob () {
 если (($# <= 1)); тогда
 диск - "$1"
 Элиф (($+псевдонимы[$2])); тогда
 ( компакт-диск -- $1 && ивал $2 '$~@[3,$#]' )
еще
 ( компакт-диск -- $1 && $~@[2,$#] )
интернет
}
псевдоним СД1='cd1_glob noglob'

(Я не называю эту функцию компакт-диска. Если вы измените вызовы компакт-диска внутри функции встроенной диска.)