Как выполнить mkdir и перейти в новый каталог в одну строку
Я уже давно пользуюсь консолью linux. Меня раздражает то, что каждый раз, когда я создаю новый каталог, используя mkdir
Мне пришлось cd
изменить на это. Существует ли единое командное решение для создания и переключения в только что созданный каталог?
Прямо сейчас я делаю:
mkdir php5
cd php5
я могу сделать:
mkdir -someswitch php5
Я хочу что-то простое и чистое. Хороший пример git branch somebranch
который делает новую ветвь и git checkout -b somebranch
который делает и переключается на новую ветку.
7 ответов
Переносимый способ сделать это с помощью функции оболочки, а не функции bash (используя bashims как function
). Поместите это в соответствующий .profile
для интерактивного использования:
mkdir () {
case $1 in
(-c) command mkdir -p "$2" && cd "$2";;
(*) command mkdir "$@";;
esac
}
Это добавляет -c
возможность mkdir
для интерактивного использования. Без -c
утилита действует как всегда.- И обратите внимание на цитирование "$2"
так что это работает с каталогами с пробелами в их имени.
Или вы можете использовать ';' для разделения команд, например:
mkdir php5.3; CD php5.3
Ничто не мешает вам создать собственный псевдоним или небольшой скрипт
mkdir $1 && cd $1
это то, что я использовал, не уверен, что это соответствует лучшим практикам, но это работает.
Точный ответ, который может помочь. Это легко набрать.
mkdir php7 && cd! $
Вы можете определить функцию в bash, чтобы сделать это:
function mkcd() {
mkdir $1 && eval cd $1
}