Saya ingin membuat skrip bash yang harus dijalankan dengan sudo tetapi harus memperhitungkan nama pengguna non-sudo yang mengeksekusinya. Jadi, jika pengguna bobmenjalankan sudo ./myscript.shsaya ingin myscript.shtahu bobadalah orang yang menjalankannya.
Mari kita lihat ke dalam myscript.sh:
USER=$(whoami)
# Do something that takes into account the username.
Bagaimana saya bisa tahu nama pengguna yang menelurkan proses? Lebih khusus, apa yang harus saya gunakan daripada whoamiuntuk mendapatkan bobdan tidak root?
#!/usr/bin/env bashdi skrip bash saya.
shatau sesuatu yang lain.
USER=$(whoami). Perhatikan bahwaUSERsudah ada sebagai variabel internal shell. Juga, jika skrip bash, jangan jalankan dengan menggunakansh, yang hanya memiliki subset fitur yang kompatibel dengan POSIX.