Powershell: Ubah Variabel Lingkungan (misalnya $env:PSModulePath) di Linux

Dibuat pada 25 Jul 2017  ·  3Komentar  ·  Sumber: PowerShell/PowerShell

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.

Issue-Discussion Issue-Enhancement WG-Engine-Providers

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.

    • Solusi ini juga akan berfungsi untuk macOS, yang tidak memiliki mekanisme seluruh sistem untuk mendefinisikan variabel lingkungan (lagi).
    • (macOS memiliki /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]).

Semua 3 komentar

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.

    • Solusi ini juga akan berfungsi untuk macOS, yang tidak memiliki mekanisme seluruh sistem untuk mendefinisikan variabel lingkungan (lagi).
    • (macOS memiliki /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:

Apakah halaman ini membantu?
0 / 5 - 0 peringkat