Halo semua,
Saya pikir akan sangat bagus jika Anda dapat mengubah Variabel Lingkungan (diakses misalnya dengan $env:Name atau Get-ChildItem env :) di Linux.
Misalnya untuk mengatur nilai file konfigurasi baru di /etc ?
Di Windows saya dapat mengubah misalnya PSModulePath dan menambahkan jalur khusus. Satu-satunya pilihan di Linux adalah membuat file ps1 profil untuk semua pengguna.
Terima kasih.
Dapatkah saya menyarankan agar Anda mengubah judul masalah Anda untuk mencerminkan fakta bahwa Anda sedang mencari PowerShell untuk memperkenalkan cara _profile-independent_ untuk _persistently_ mendefinisikan variabel lingkungan?
Beberapa pemikiran:
Variabel lingkungan menurut definisi _shell/application-agnostic_ dan dilihat oleh _all_ proses turunan, terlepas dari shell/aplikasi apa yang membuatnya.
PowerShell "mendengarkan" hanya _2_ variabel lingkungan, $env:PSModulePath
menjadi salah satunya.
Dari apa yang saya pahami, lingkungan Linux (semuanya?) sudah memiliki file /etc/environment
sebagai mekanisme shell-independen seluruh sistem untuk mendefinisikan variabel lingkungan.
Yang mengatakan, jika satu set variabel lingkungan benar-benar hanya digunakan oleh _PowerShell_, maka profil _PowerShell_ seluruh sistem - $profile.AllUsersAllHosts
- bisa dibilang _is_ tempat yang tepat untuk mendefinisikannya.
/etc/profile
, yang diharapkan akan diproses oleh shell default, yang (a) tidak berlaku untuk aplikasi GUI, dan (b) memerlukan shell default untuk memenuhi harapan ini dan (c) memerlukan shell default untuk memahami sintaks POSIX-shell (PowerShell yang mana, jika didefinisikan sebagai shell default, tidak akan [_Update_: /etc/profile
dan ~/.profile
sekarang _are_ dihormati jika Anda memulai dengan pwsh -l
atau gunakan PowerShell sebagai shell default]).Saya mencoba mengatur variabel lingkungan seperti ini di mesin Ubuntu:
Saya berharap ini akan mengedit file /etc/environment untuk mengatur lebar sistem variabel lingkungan.
Sayangnya .NET Core belum menerapkan metode untuk mengatur variabel lingkungan di sistem Unix. Dokumentasi untuk metode tersebut menyatakan bahwa menerapkan nilai ke apa pun selain proses saat ini hanya didukung di windows. :kernyit_wajah:
Komentar yang paling membantu
Dapatkah saya menyarankan agar Anda mengubah judul masalah Anda untuk mencerminkan fakta bahwa Anda sedang mencari PowerShell untuk memperkenalkan cara _profile-independent_ untuk _persistently_ mendefinisikan variabel lingkungan?
Beberapa pemikiran:
Variabel lingkungan menurut definisi _shell/application-agnostic_ dan dilihat oleh _all_ proses turunan, terlepas dari shell/aplikasi apa yang membuatnya.
PowerShell "mendengarkan" hanya _2_ variabel lingkungan,
$env:PSModulePath
menjadi salah satunya.Dari apa yang saya pahami, lingkungan Linux (semuanya?) sudah memiliki file
/etc/environment
sebagai mekanisme shell-independen seluruh sistem untuk mendefinisikan variabel lingkungan.Yang mengatakan, jika satu set variabel lingkungan benar-benar hanya digunakan oleh _PowerShell_, maka profil _PowerShell_ seluruh sistem -
$profile.AllUsersAllHosts
- bisa dibilang _is_ tempat yang tepat untuk mendefinisikannya./etc/profile
, yang diharapkan akan diproses oleh shell default, yang (a) tidak berlaku untuk aplikasi GUI, dan (b) memerlukan shell default untuk memenuhi harapan ini dan (c) memerlukan shell default untuk memahami sintaks POSIX-shell (PowerShell yang mana, jika didefinisikan sebagai shell default, tidak akan [_Update_:/etc/profile
dan~/.profile
sekarang _are_ dihormati jika Anda memulai denganpwsh -l
atau gunakan PowerShell sebagai shell default]).