Variabel PATH permanen


38

Bagaimana saya membuat /media/De Soft/mongodb/binvariabel PATH ini permanen?

Semua orang mengatakan " export PATH=$PATH:media/De\ Soft/mongodb/binkepada Anda ~/.profile, atau .bashrc, .zshenvtergantung pada shell Anda".

Saya tidak tahu apa itu ~/.profile, atau .bashrc, atau .zshenv. Apa yang sebenarnya mereka lakukan?

Bagaimana saya akan menambah export PATH=$PATH:my/path.profile / .bashrc / .zshenv saya?

Saya menggunakan 64 bit Ubuntu 14.04 LTS dengan terminal default.

Jawaban:


70

Mereka adalah file konfigurasi. Satu arah:

  • Buka jendela terminal menggunakan Ctrl + Alt + T
  • Jalankan perintah gedit ~/.profile
  • Tambahkan baris

    export PATH=$PATH:/media/De\ Soft/mongodb/bin

    ke bawah dan simpan

  • Logout dan log in lagi

Edit:

Cara yang lebih aman adalah dengan menggunakan kutipan. Hal ini diperlukan jika satu atau lebih direktori dalam dokumen asli PATHberisi spasi. Begitu:

export PATH="$PATH:/media/De Soft/mongodb/bin"

@ GunnarHjalmarsson, apakah saya benar-benar perlu mengekspor PATH var? Mungkin, ini dilakukan secara default di beberapa skrip lain? Saya telah memeriksa oleh ~ / .profile dan PATH var ada di sana, tetapi tidak diekspor secara eksplisit: PATH = ~ / .local / bin: $ JAVA_HOME / bin: $ PATH
yuranos87

4
@ yuranos87: ​​Tidak, Anda benar; ketika memodifikasi PATHdi ~/.profile, mengekspor berlebihan, karena PATHsudah merupakan variabel lingkungan.
Gunnar Hjalmarsson

1
Anda tidak perlu keluar dan masuk lagi. Gunakan source ~/.profile.
timbo

1
@ timbo: Itu tidak membuat variabel tersedia untuk sudah memulai proses dalam sesi (kecuali untuk terminal saat ini).
Gunnar Hjalmarsson

1
Apakah Anda tidak memerlukan tanda kutip dalam string seperti pada export PATH="$PATH:/media/De\ Soft/mongodb/bin"? Apakah itu opsional?
Bruno Bentzen

4

Ketik yang berikut di jendela terminal

export PATH=/media/De\ Soft/mongodb/bin:$PATH 

Tutup terminal dan nyalakan kembali komputer. Path harus menyertakan / media / De \ Soft / mongodb / bin ketika Anda mengetik ini di terminal:

echo $PATH

13
Itu hanya berfungsi untuk sesi terminal saat ini. Itu harus di ~/.profile(atau ~/.bashrcpada distro umum GNU / Linux ... datar ~/.bash_profile) untuk dijalankan pada setiap beban konsol.
Alejandro Iván

sepakat. tetapi pada saat sistem restart, ia dimuat dalam variabel path.
Nivedita Velagaleti

10
@NiveditaVelagaleti: Tidak, itu tidak kecuali Anda membuatnya gigih melalui file konfigurasi. Perintah terminal tidak berubah secara PATHterus-menerus.
Gunnar Hjalmarsson

2

Untuk mengubah secara permanen, PATHAnda perlu membuat perubahan ke /etc/environmentfile. Buat cadangan sebelum diedit:

sudo cp /etc/environment /etc/environment.bak
sudo nano /etc/environment

keluaran sampel:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Path dibatasi oleh :jadi untuk menambahkan path baru katakan x/y/zini akan bagaimana kita /etc/environmentterlihat seperti:

PATH="x/y/z:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.