Tidak ada fungsi bawaan untuk itu, tetapi Anda dapat menggunakan fungsionalitas shell untuk membantu Anda tidak perlu mengetikkan argumen cdperintah lagi setelah menjalankan mkdir:
- Ketik
cd , lalu Esc .(atau Alt+ .) untuk memasukkan argumen terakhir dari perintah sebelumnya.
cd !$dieksekusi cdpada argumen terakhir dari perintah sebelumnya.
- Tekan Upuntuk memanggil kembali baris perintah sebelumnya, lalu edit untuk mengubahnya
mkdirmenjadi cd.
Anda dapat mendefinisikan fungsi direktori make-and-change sederhana di ~/.bashrc:
mkcd () { mkdir "$1" && cd "$1"; }
Muat ulang .bashrc( . ~/.bashrc) atau mulai ulang bash, dan sekarang Anda dapat mengetik mkcd new-directory.
Versi sederhana ini gagal dalam beberapa kasus yang tidak biasa yang melibatkan nama direktori aneh atau ..tautan simbolik. Inilah yang melakukannya. Untuk penjelasan, lihat versi Unix & Linux dari pertanyaan ini .
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 "$_"berfungsi dengan baik daripadamkdir "NewDir" && cd "NewDir"karena pelengkapan otomatis tidak berfungsi. BTW apa itu "$ _"?