Этот ответ позволил мне cd -
перейти к моей предыдущей директории в Bash. У него действительно есть серьезная проблема: он печатает каталог, на который он изменяет, тратя мое пространство экрана, так как этот каталог затем повторяется в приглашении на следующей строке.
Я знаю, что могу сделать cd $OLDPWD
, также упоминается в этом ответе, cd - >/dev/null
но это гораздо больше печатать.
На bash
странице руководства это говорит:
... или, если - это первый аргумент, и смена каталога прошла успешно, абсолютный путь к новому рабочему каталогу записывается в стандартный вывод.
Как я могу сделать, чтобы -
не быть первым аргументом? Используя какой-либо из cd
необязательных аргументов? Любой другой способ подавить эхо или минимизировать ввод без необходимости определения функций / псевдонимов на каждой машине, с которой я работаю?
источник
Ответы:
cd
учитывает только первый аргумент, игнорируя все остальные. Ни одна из опций не влияет на эхо предыдущего имени пути (возможно, документированный-@
действительно имеет такой эффект, но это недопустимая опция в моей системе).Если вы не хотите использовать псевдоним / функцию, которая может дать вам еще меньше символов для ввода
cd -
или перенаправления/dev/null
, я предлагаю начать использовать специальное расширение тильды вbash
:С
bash
man-страницы:Кажется, это еще одна область, в
bash
которой было создано особое значение. Тильды обычно работают на $ DIRSTACK, манипулирует / расследуетсяpushd
,popd
иdirs
он может быть использован в других командах , а также (cp ~-/somefile .
) , и если вы использовалиpushd
вы можете использовать~N
(где N представляет собой число уровней оттеснили) , чтобы добраться до эти каталоги (дляcd
или других команд).Кстати, если у вас есть учетные записи на нескольких компьютерах и предполагается, что вы используете ssh для входа в них из одного места, вы должны рассмотреть возможность добавления в
~/.bashrc
:а затем на вашей рабочей машине есть скрипт, который использует
scp
«push»bash_common
для каждой из этих машин. Таким образом, вы можете добавлять и совместно использовать общие функции на нескольких машинах с минимальными издержками.источник