Дело в том, что иногда я печатаю cd
по ошибке, и это приводит меня в домашний каталог.
например, я нахожусь в каталоге, в котором есть скрытый каталог и видимый каталог, я быстро нажимаю cd
+, tabи это приводит меня к домашнему каталогу
command-line
cd-command
Vinicius de Novaes
источник
источник
cd
случайно оказались где-то, используйтеcd -
для возврата к вашему предыдущему местоположению - bash сохраняет$OLDPWD
переменную для этой цели. См. Gnu.org/software/bash/manual/bash.html#index-cdcd
ничего не делать, вы можете написать функцию с именемcd
, которая ничего не делает, когда аргументы не заданы, в противном случае вызовитеbuiltin cd "$@"
cd
делать то, что он делает. Если у вас есть привычка выполнять команды, которые вы еще не проверили дважды, у вас возникнут гораздо большие проблемы позже. Например, вы хотите переместить два файла в третий каталог:mv a b dir/
и завершение TAB не даетdir
ожидаемого результата, в итоге вы будете выполнять те,mv a b
которые перезаписываютсяb
. Научитесь быть осторожным, научитесь смотреть на команду перед нажатием Enter.rm
предотвращения стирания каталогов верхнего уровня , таких как/
,/etc
,/usr
,/home
,/var
и т.д. без пароля переопределения. Иногда нам нужна защита от нас самих :)Ответы:
Используйте
gedit ~/.bashrc
и вставьте эти строки внизу:Откройте новый терминал и теперь, когда вы печатаете
cd
без параметров, вы просто остаетесь в том же каталоге.TL; DR
Если вы хотите быть действительно сложным, вы можете добавить экран справки, когда параметры не переданы:
Расширенный код для этого:
источник
ncd
(для «New CD») и оставить реальный вcd
покое?cd
(пусто) работает по-разному для людей, помимо домашнего пользователя~/.bashrc
. Не могли бы вы привести один или два примера, на которые стоит обратить внимание? Например, разработчик используетcd
(пусто) в своем сценарии установки. (Гипотетически, но я не могу придумать случай). Я могу свернуть ваши примеры в ответ и предложить использовать ОПncd
все время вместоcd
.Если это является завершением вкладки, которое вызывает это, один вариант состоит в том, чтобы сделать цикл завершения через записи немедленно. Это можно сделать с помощью опции readline
menu-comple
вместо значения по умолчаниюcomplete
:Затем в моем домашнем каталоге, например:
Конечно, даже тогда вам придется читать то, что вы выполняете.
источник
Вот как я помещаю имя текущего пользователя и пользователя в заголовок окна. Вы можете адаптировать его к своим потребностям, но
cd -
, эквивалентно,cd $OLDPWD
это лучшее решение.Из моего
~/.bashrc
:источник
Проблемы здесь нет
cd
, и она не решена технологией.Проблема в тебе, и это решено терпением!
Если вам часто приходится набирать и отправлять команды, которые вам не нужны, попробуйте замедлить работу . Сделайте вдох, прочитайте, что вы печатаете, и дважды проверьте его, прежде чем нажимать ввод. Продумайте это до конца. Не торопись.
Вы обнаружите, что этот подход не только решает проблему, но и другие гораздо худшие проблемы, с которыми вы столкнетесь, если продолжите свой текущий путь.
источник