Saya punya skrip doSmth
di /usr/bin
. Apakah mungkin untuk mendapatkan dan mencetak direktori tempat skrip dipanggil ?
Jadi jika saya panggil doSmth
dari /home/me
output akan /home/me
.
Saya punya skrip doSmth
di /usr/bin
. Apakah mungkin untuk mendapatkan dan mencetak direktori tempat skrip dipanggil ?
Jadi jika saya panggil doSmth
dari /home/me
output akan /home/me
.
Jawaban:
Dengan "direktori itu dipanggil dari" Anda tampaknya berarti direktori kerjanya. Anda dapat mengubah ini di dalam skrip menggunakan misalnya cd
,, tetapi sebelum Anda melakukannya, pwd
akan 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 pushd
dan popd
.
cd
dua kali)