Dapatkan direktori dari mana skrip dipanggil


Jawaban:


11

Saat Anda menjalankan perintah di shell, proses baru mewarisi direktori kerja induk. Berikut adalah dua cara mendapatkan direktori kerja:

echo "$PWD" # variable
pwd         # builtin command

1

Dengan "direktori itu dipanggil dari" Anda tampaknya berarti direktori kerjanya. Anda dapat mengubah ini di dalam skrip menggunakan misalnya cd,, tetapi sebelum Anda melakukannya, pwdakan mencetaknya. Itu juga kemungkinan berada dalam variabel$PWD

Jika Anda memerlukan direktori kerja awal setelah mengubahnya, simpan saja di bagian atas skrip Anda (sebelum mengubahnya)

#!/bin/bash
initial_wd=`pwd`

# ... do a lot of stuff ...
# ⋮

cd "$initial_wd"

Jika Anda menggunakan ini untuk kembali ke direktori tempat Anda memulai, lihat juga pushddan popd.


3
Dalam bash, ada juga "$ OLDPWD".
jordanm

@jordanm Memang ada, tapi itu belum tentu menjadi direktori kerja awal (misalnya, jika Anda telah menggunakan cddua kali)
derobert

$ OLDPWD adalah yang saya butuhkan; Saya menjalankan skrip bash dari CMD Prompt pada Win7 dan ini adalah variabel lingkungan yang menampung direktori tempat saya menjalankan skrip. Cheers
Darren Bishop
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.