Saya punya skrip doSmthdi /usr/bin. Apakah mungkin untuk mendapatkan dan mencetak direktori tempat skrip dipanggil ?
Jadi jika saya panggil doSmthdari /home/meoutput akan /home/me.
Saya punya skrip doSmthdi /usr/bin. Apakah mungkin untuk mendapatkan dan mencetak direktori tempat skrip dipanggil ?
Jadi jika saya panggil doSmthdari /home/meoutput 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, 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.
cddua kali)