Apa cara pintas bash untuk mengubah ke direktori sebelumnya?

76

Sedihnya, saya baru tahu tentang ini tahun lalu dengan menemukannya secara acak di internet. Saya jarang menggunakannya sehingga saya selalu lupa apa itu ketika saya membutuhkannya lagi.

Bagaimana Anda mengubah ke direktori Anda sebelumnya?

hobodave
sumber

Jawaban:

105

Pintasannya adalah -

Mencoba cd -

Jika Anda ingin menggunakan ini di prompt Anda, Anda harus merujuknya dengan ~-.

Lihat contohnya:

[echox@kaffeesatz ~]$ cd /tmp
[echox@kaffeesatz tmp]$ ls
cron.iddS32  serverauth.CfIgeXuvka
[echox@kaffeesatz tmp]$ cd -
/home/echox
[echox@kaffeesatz ~]$ ls ~-
cron.iddS32  serverauth.CfIgeXuvka
echox
sumber
19

Anda mungkin juga ingin melihat pushddan popd, yang membuat setumpuk direktori untuk mengingat di mana Anda berada.

Untuk menggunakan, pushd <directory>mengubah <directory>dan menyimpan direktori sebelumnya. Untuk mengubah kembali ke direktori yang disimpan ini, gunakan popd.

Homolka yang kaya
sumber
2

Sesuai jawaban oleh @echox, Anda memang dapat menggunakan cd -sebagai halaman manual untuk bashmenjelaskan:

Ketika a digunakan sebagai operan, ini harus setara dengan perintah:

                cd "$OLDPWD" && pwd

yang berubah ke direktori kerja sebelumnya dan kemudian menulis namanya.

Perhatikan direktori yang diubah menjadi keluaran oleh bawaan pwddi cd -. Anda mungkin tidak ingin output itu dalam skrip. Di situlah alternatif menjadi berguna - lakukan saja

cd "$OLDPWD"

dan kamu selesai!

starfry
sumber