Bagaimana saya bisa mendapatkan direktori kerja saat ini?
Saya ingin memiliki script yang mengambil direktori kerja ke sebuah variabel. Bagian yang perlu direktori seperti ini dir = pwd
. Hal itu hanya mencetak pwd
bagaimana cara mendapatkan direktori kerja saat ini menjadi variabel?
179
5
Ada's tidak perlu melakukan itu,'s sudah in variabel:
The
PWD
variabel didefinisikan oleh POSIX dan akan bekerja pada semua POSIX-compliant kerang:Untuk lebih umum dan jawabannya, cara untuk menyimpan output dari perintah dalam variabel adalah dengan menyertakan perintah di
$()
atau`
` (backticks):atau
Dari keduanya,
$ ()
lebih disukai karena lebih mudah untuk membangun kompleks perintah seperticommand0 $(command1 $(command2 $(command3)))
.dir=$(pwd)
Ini lebih portable dan disukai atas backticks metode.
Menggunakan
$()
memungkinkan anda untuk sarang perintahmisalnya :
mech_pwd=$(pwd; echo di $(hostname))
Anda dapat menggunakan variabel lingkungan
$PWD
, atau menulis sesuatu seperti:Anda perlu menggunakan perintah substitusi untuk menyimpan output dari
pwd
perintah untuk variabel. Perintah substitusi dapat menggunakan backticks atau dolar karakter. Seperti ini:Nilai dari direktori kerja saat ini bisa berbeda. Jika anda menggunakan tautan simbolis untuk mendapatkan direktori saat ini, pwd akan memberikan hasil yang berbeda dari /usr/bin/pwd. Karena anda menggunakan bash, saya akan menggunakan:
atau sebagai per komentar:
seperti yang saya don't seperti kembali tanda kutip karena mereka dapat't sarang.