Я ищу способ создать каталог и изменить свой текущий рабочий каталог на вновь созданный каталог с помощью одной команды. Как я могу это сделать?
т.е. вместо того, чтобы делать
user@Computer:~$ mkdir NewDirectory
user@Computer:~$ cd NewDirectory
user@Computer:~/NewDirectory$
я хочу делать
user@computer:~$ **command** NewDirectory
user@Computer:~/NewDirectory$
Какой может быть команда ?
источник
mkdir "NewDir" && cd "$_"
работает лучше, чемmkdir "NewDir" && cd "NewDir"
автоматическое завершение не работает. Кстати, что такое "$ _"?mkdir
чтобы перейти в созданный новый каталог..bashrc
;)Для этого нет встроенной функции, но вы можете использовать функциональность оболочки, чтобы помочь вам не вводить аргумент
cd
команды снова после запускаmkdir
:cd
, затем Esc .(или Alt+ .), чтобы вставить последний аргумент из предыдущей команды.cd !$
выполняетсяcd
по последнему аргументу предыдущей команды.mkdir
вcd
.Вы можете определить простую функцию make-and-change-directory в вашем
~/.bashrc
:Перезагрузите ваш
.bashrc
(. ~/.bashrc
) или перезапустите bash, и теперь вы можете напечататьmkcd new-directory
.Эта простая версия дает сбой в некоторых необычных случаях, связанных со странными именами каталогов или
..
символическими ссылками. Вот тот, который делает. Для объяснения см. Версию этого вопроса для Unix и Linux .источник
есть решение, указанное выше (то же самое, что и мое решение, но без опции -p), но я думаю, что оно имеет несколько подводных камней.
Это дает нам два преимущества:
&& cd "$_"
изменится на вновь созданный каталог, так как$_
удерживайте значение, возвращенное моимmkdir
источник