ubah direktori (cd) di unix berdasarkan pada tindakan sebelumnya


3

Saya melihat posting blog beberapa waktu yang lalu tentang trik menghemat waktu unix yang selama hidup saya belum dapat saya ingat dan halaman manual tidak mencantumkan.

Pada dasarnya itu adalah cara untuk cd ke direktori yang baru saja Anda salin atau pindahkan sesuatu ke. Contoh:

$pwd
/home/stedy
$mv temp /projects/trunk
$cd something
$pwd
/projects/trunk

Adakah yang pernah melihat ini sebelumnya? Apa yang saya lupa setelah perintah cd?

Jawaban:


3

Salah satu opsi adalah menggunakan perintah histori:

$pwd
/home/stedy
$mv temp /projects/trunk
$cd !:2
$pwd
/projects/trunk

!:2mengambil argumen kedua dari perintah sebelumnya. Anda dapat sangat bervariasi kesenangan dengan pengubah, sahabat Anda man bashatau atau info bashmencari ekspansi sejarah (dan pengubah).


1
!$memberikan argumen terakhir dari perintah sebelumnya dan lebih mungkin untuk secara konsisten melakukan apa yang dimaksudkan tanpa harus memikirkan berapa banyak argumen yang ada, terutama dalam hal sesuatu seperticp foo bar baz dest/
Dennis Williamson

6

Anda dapat menekan Alt- .untuk mendapatkan argumen terakhir dari perintah sebelumnya di Bash, ksh dan zsh. Keystroke sebenarnya ditunjuk sebagai Meta- .yang biasanya berarti menekan Esckemudian ., tetapi Altkombinasi umumnya tersedia. Perhatikan bahwa garis bawah akan berfungsi sebagai pengganti titik. Lihat bagian Garis Baca man bashuntuk informasi lebih lanjut. The readlinefungsi disebut yank-last-arg.


2

Dalam kebanyakan shell, parameter terakhir yang Anda berikan pada perintah sebelumnya adalah $_

mkdir /some/dir
cd $_
# now in /some/dir
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.