Không có chức năng tích hợp cho điều đó, nhưng bạn có thể sử dụng chức năng shell để giúp bạn không phải gõ lại đối số của cd
lệnh sau khi chạy mkdir
:
- Nhập
cd
, sau đó Esc .(hoặc Alt+ .) để chèn đối số cuối cùng từ lệnh trước đó.
cd !$
thực hiện cd
trên đối số cuối cùng của lệnh trước đó.
- Nhấn Upđể gọi lại dòng lệnh trước đó, sau đó chỉnh sửa nó để thay đổi
mkdir
thành cd
.
Bạn có thể xác định chức năng thư mục thay đổi đơn giản trong ~/.bashrc
:
mkcd () { mkdir "$1" && cd "$1"; }
Tải lại bash của bạn .bashrc
( . ~/.bashrc
) hoặc khởi động lại bash, và bây giờ bạn có thể nhập mkcd new-directory
.
Phiên bản đơn giản này thất bại trong một số trường hợp bất thường liên quan đến tên thư mục lạ hoặc ..
liên kết tượng trưng. Đây là một trong đó. Để biết giải thích, hãy xem phiên bản Unix & Linux của câu hỏi này .
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 "$_"
hoạt động tuyệt vời hơnmkdir "NewDir" && cd "NewDir"
là tự động hoàn thành không hoạt động. "$ _" Là gì?