Apakah ada cara untuk menjalankan sesuatu seperti su -l
itu membaca semua file shell login tetapi tidak mengubah direktori tempat Anda berada?
Untuk beberapa motivasi, saya mencoba membuat paket Slackware Linux. Sebagian besar paket waktu akan dibangun dengan benar jika Anda hanya menggunakan su
. Namun, ada beberapa paket seperti sbcl
itu bergantung pada TeX
alat dan akan gagal tanpa su -l
. Saya lebih suka menggunakan su
ketika saya bisa lolos karena itu tidak mengubah direktori saat ini.
Jika saya di direktori suka ~/opt/haskell-stack-slackbuild
.
$ pwd
/home/<user>/opt/haskell-stack-slackbuild
Jika saya hanya menjalankan su
saya kembali di direktori yang sama, tetapi jika saya jalankan su -l
maka saya bisa mampir di /root
mana pun saya berada dan harus menavigasi kembali ke direktori tempat saya bekerja.
$ su -l
# pwd
/root
su -- root -c "exec /bin/bash -l"
. (Saya pikir shell default saya secara khusus bukan bash bukan sh yang kebetulan menunjuk ke bash) Menyimpan saya di direktori yang sama, tetapi sumber/etc/profile
atau/root/.profile
atau yang lainnya sesuai.