Для цього немає вбудованої функції, але ви можете використовувати функцію оболонки, щоб вам не довелося знову вводити аргумент cdкоманди після запуску mkdir:
- Введіть
cd , а потім Esc .(або Alt+ .), щоб вставити останній аргумент із попередньої команди.
cd !$виконується cdна останньому аргументі попередньої команди.
- Натисніть, Upщоб згадати попередній командний рядок, а потім відредагуйте його, щоб змінити
mkdirйого cd.
Ви можете визначити просту функцію каталогу-змін-каталогу у своєму ~/.bashrc:
mkcd () { mkdir "$1" && cd "$1"; }
Перезавантажте ваш .bashrc( . ~/.bashrc) або перезавантажте bash, і тепер ви можете вводити текст mkcd new-directory.
Ця проста версія виходить з ладу у деяких незвичайних випадках, пов’язаних із дивними іменами каталогу або ..символічними посиланнями. Ось, що це робить. Пояснення див. У версії цього питання для Unix & Linux .
mkcd () {
case "$1" in
/*) mkdir -p "$1" && cd "$1";;
*/../*) (cd "./${1%/../*}/.." && mkdir -p "./${1##*/../}") && cd "$1";;
../*) (cd .. && mkdir -p "${1#.}") && cd "$1";;
*) mkdir -p "./$1" && cd "./$1";;
esac
}
mkdir "NewDir" && cd "$_"працює чудово, ніжmkdir "NewDir" && cd "NewDir"автоматичне завершення не працює. До речі, що таке "$ _"?