Atur variabel lingkungan di Mac OS X Lion

532

Ketika seseorang mengatakan "edit file .plist Anda" atau ".profile" Anda atau ".bash_profile" dll, ini membingungkan saya. Saya tidak tahu di mana file-file ini, bagaimana membuatnya jika saya harus melakukan itu, dll, dan juga mengapa ada begitu banyak yang berbeda (mengapa? Apakah mereka melakukan hal-hal yang berbeda?)

Jadi bisakah seseorang tolong jelaskan dengan sangat sabar kepada pengguna Windows sebelumnya (ingin mati-matian untuk menjadi lebih akrab dengan dunia OS X yang menyenangkan jika awalnya agak membingungkan) bagaimana melakukan langkah ini demi langkah?

Saya perlu variabel yang akan ditetapkan untuk aplikasi GUI dan aplikasi baris perintah, dan saat ini untuk skrip semut yang membutuhkan variabel, tetapi kemungkinan besar akan ada kebutuhan lain juga.

Harap perhatikan bahwa saya juga memiliki Lion, karena banyak jawaban yang Anda dapatkan di Google tampaknya sudah ketinggalan zaman untuk Lion ...

Perhatikan juga bahwa saya praktis tidak memiliki pengalaman menggunakan Terminal. Saya mau belajar, tapi tolong jelaskan untuk pemula ...

Anders
sumber
Bukan jawaban yang akan bekerja jika Anda mencoba membacanya dari beberapa aplikasi seperti musim semi.
Mehraj Malik

Jawaban:

403

Pertama, satu hal untuk dikenali tentang OS X adalah bahwa ia dibangun di atas Unix. Di sinilah .bash_profile masuk. Ketika Anda memulai aplikasi Terminal di OS X Anda secara default mendapatkan bash shell. Bash shell berasal dari Unix dan ketika dimuat, ia menjalankan skrip .bash_profile. Anda dapat memodifikasi skrip ini untuk pengguna Anda untuk mengubah pengaturan Anda. File ini terletak di:

~/.bash_profile

Perbarui untuk Mavericks

OS X Mavericks tidak menggunakan environment.plist - setidaknya tidak untuk aplikasi windows OS X. Anda dapat menggunakan konfigurasi launchd untuk aplikasi berjendela. .Bash_profile masih didukung karena itu adalah bagian dari bash shell yang digunakan di Terminal.

Singa dan Singa Gunung Saja

Aplikasi berjendela OS X menerima variabel lingkungan dari file environment.plist Anda. Ini kemungkinan yang Anda maksud dengan file ".plist". File ini terletak di:

~/.MacOSX/environment.plist

Jika Anda membuat perubahan pada file environment.plist Anda maka aplikasi windows X OS, termasuk aplikasi Terminal, akan mengatur variabel lingkungan tersebut. Variabel lingkungan apa pun yang Anda atur di .bash_profile Anda hanya akan memengaruhi bash shell Anda.

Secara umum saya hanya mengatur variabel dalam file .bash_profile saya dan tidak mengubah file .plist (atau file launchd pada Mavericks). Sebagian besar aplikasi berjendela OS X tidak memerlukan lingkungan khusus. Hanya ketika sebuah aplikasi benar-benar membutuhkan variabel lingkungan tertentu, saya mengubah environment.plist (atau file launchd di Mavericks).

Kedengarannya seperti yang Anda inginkan adalah mengubah file environment.plist, daripada .bash_profile.

Satu hal lagi, jika Anda mencari file-file itu, saya pikir Anda tidak akan menemukannya. Jika saya ingat dengan benar, mereka tidak berada pada instalasi awal Lion.

Sunting: Berikut adalah beberapa instruksi untuk membuat file plist.

  1. Buka Xcode
  2. Pilih File -> Baru -> File Baru ...
  3. Di bawah Mac OS X pilih Resources
  4. Pilih file plist
  5. Ikuti petunjuk selanjutnya

Untuk mengedit file, Anda dapat mengontrol-klik untuk mendapatkan menu dan pilih Tambah Baris. Anda kemudian dapat menambahkan pasangan nilai kunci. Untuk variabel lingkungan, kuncinya adalah nama variabel lingkungan dan nilainya adalah nilai aktual untuk variabel lingkungan itu.

Setelah file plist dibuat, Anda dapat membukanya dengan Xcode untuk memodifikasinya kapan saja Anda inginkan.

David V
sumber
Ok terima kasih. Saya pikir saya telah mengerti bahwa tilde berarti folder rumah saya, benar (yaitu / Pengguna / Anders dalam kasus saya)? Jadi jika mereka tidak ada, saya harus membuat file teks kosong baru, dengan nama yang Anda sebutkan (akankah saya diizinkan membuat file yang dimulai dengan titik?)? Dan kemudian tambahkan apa dalam file-file itu untuk mengatur variabel lingkungan? Sebagai contoh, saya perlu menambahkan variabel AHF_OPT yang harus mengarah ke folder yang dibutuhkan oleh skrip semut, bagaimana cara menambahkan itu dalam dua file ini?
Anders
1
Dua hal untuk dicoba: Pertama, string yang Anda tempel memiliki titik koma yang salah setelah ".dtd>" Mungkin ini adalah kesalahan salin dan tempel, tetapi saya harus menghapusnya untuk meminta Xcode membaca file. Kedua, Anda mungkin harus logout dan kembali agar efeknya terjadi.
David V
7
Juga bermanfaat untuk diketahui ~/.bashrc. ~/.bashrcfile berjalan setiap kali Anda membuka shell bash non-login baru seperti xterm / aterm, dan ~/.bash_profilehanya berjalan dengan shell login yaitu ketika Anda pertama kali masuk ke sistem.
DanSkeel
1
Temukan penjelasan yang jelas tentang menambahkan environment.plist di sini developer.apple.com/library/mac/#qa/qa1067/_index.html .
Dan Akhirnya
1
Jawaban yang bagus, kecuali frasa canggung "Aplikasi OS X windows." Itu bahkan lebih buruk daripada menyebut X11 sebagai "X Windows." Lebih baik menyebutnya Aqua atau hanya "aplikasi .app".
SigmaX
222

Anda .profileatau .bash_profilehanya file yang ada di folder "home" Anda. Jika Anda membuka jendela Finder dan mengklik nama akun Anda di panel Favorites, Anda tidak akan melihatnya. Jika Anda membuka jendela Terminal dan mengetikkan lsdaftar file Anda masih tidak akan melihatnya. Namun, Anda dapat menemukannya dengan menggunakan ls -adi terminal. Atau jika Anda membuka editor teks favorit Anda (katakanlah TextEdit karena ia datang dengan OS X) dan lakukan File-> Open dan kemudian tekan Command+ Shift+ .dan klik pada nama akun Anda (folder rumah) Anda akan melihatnya juga. Jika Anda tidak melihatnya, maka Anda dapat membuatnya di editor teks favorit Anda.

Sekarang, menambahkan variabel lingkungan relatif mudah dan sangat mirip dengan windows secara konseptual. Di .profiletambah saja Anda , satu per baris, nama variabel dan nilainya sebagai berikut:

export JAVA_HOME=/Library/Java/Home
export JRE_HOME=/Library/Java/Home

dll.

Jika Anda memodifikasi variabel "PATH" Anda, pastikan untuk memasukkan PATH default sistem yang telah ditetapkan untuk Anda:

export PATH=$PATH:/path/to/my/stuff

Sekarang di sini adalah bagian yang unik, Anda dapat membuka jendela Terminal baru untuk menerapkan variabel baru, atau Anda perlu mengetik .profileatau .bash_profilememuat ulang file dan kontennya diterapkan pada lingkungan Terminal Anda saat ini.

Anda dapat memeriksa bahwa perubahan Anda mulai berlaku menggunakan perintah "set" di Terminal Anda. Cukup ketikkan set(atau set | morejika Anda lebih suka daftar paginasi) dan pastikan apa yang Anda tambahkan ke file ada di sana.

Adapun menambahkan variabel lingkungan ke aplikasi GUI, itu biasanya tidak perlu dan saya ingin mendengar lebih banyak tentang apa yang Anda coba lakukan secara khusus untuk memberikan jawaban yang lebih baik.

tokkov
sumber
2
Terima kasih, saya tidak begitu mengerti bagian terakhir, saya harus membuka jendela Terminal untuk mengaturnya, atau mengetik .profile? Tapi bukankah saya harus membuka jendela Terminal untuk mengetik. Profil? Dan jika mereka secara otomatis diatur hanya dengan membuka jendela Terminal, lalu mengapa saya perlu mengetikkan itu ...? Dan ketika saya telah membuka satu, apakah akan ditetapkan secara permanen? Saya mungkin salah paham dengan Anda, karena pertanyaan saya pun tidak masuk akal ...
Anders
4
Jika Anda memiliki jendela Terminal terbuka sebelum mengubah profil Anda, perubahan itu tidak akan tercermin di lingkungan Terminal yang ada. Solusi cepat Anda adalah dengan hanya membuka jendela Terminal baru. Itu saja. Setiap jendela baru akan memiliki semua yang ada di dalam. Profil yang ditetapkan di sana. Selalu. Cara untuk memperbaiki windows lama yang sudah terbuka adalah dengan mengetikkan ".profile" 2 periode, 1 ruang di antaranya. Perintah "set" adalah untuk mengatur variabel lingkungan yang mati ketika Anda mengakhiri sesi Anda mengaturnya. Menggunakan "set" tanpa argumen daftar variabel yang saat ini ditetapkan.
tokkov
1
Ahhh, saya melihat kebingungan yang saya buat. Jika Anda tidak memiliki jendela terminal terbuka, maka setiap jendela baru akan memuat profil. Ketika dibuka dan Anda tidak perlu melakukan apa-apa. Jika di sisi lain Anda telah mengedit file profil di jendela terminal Anda atau memiliki jendela terminal terbuka sebelumnya dan menginginkan perubahan di dalamnya, maka Anda hanya perlu mengetik . .profileuntuk memuatnya.
tokkov
2
Saya tidak bisa membuatnya bekerja. Saya menambahkan file .bash_profile di bawah / Pengguna / Anders, dengan garis ekspor AXF_DIR = / Aplikasi / Antena / AHFormatterV53, tetapi proses semut masih tidak menemukan variabel AXF_DIR ... Juga, saya mencoba perintah yang ditetapkan di Terminal, dan mendapat banyak info, tetapi tidak ada tentang variabel ini. Perhatikan bahwa saya juga menyalakan ulang sistem hanya untuk memastikan, dan saya juga memulai jendela Terminal baru ...
Anders
2
Coba beri nama saja .profile. Saya baru saja mengintip mesin yang baru saja saya beli dan mereka tampaknya menggunakan .profilehari ini dan tidak.bash_profile
tokkov
77

Berikut ini sedikit informasi lebih khusus mengenai variabel PATH di Lion OS 10.7.x:

Jika Anda perlu mengatur PATH secara global, PATH dibangun oleh sistem dalam urutan berikut:

  1. Parsing konten file /private/etc/paths, satu jalur per baris
  2. Parsing konten folder /private/etc/paths.d. Setiap file dalam folder itu dapat berisi banyak jalur, satu jalur per baris. Muat urutan ditentukan oleh nama file terlebih dahulu, lalu urutan baris dalam file.
  3. Sebuah setenv PATHpernyataan di /private/etc/launchd.conf, yang akan menambahkan jalan yang ke jalan sudah dibangun di # 1 dan # 2 (Anda tidak harus menggunakan $ PATH untuk referensi variabel PATH yang telah dibangun selama ini). Namun, pengaturan PATH di sini sama sekali tidak perlu mengingat dua opsi lainnya, meskipun ini adalah tempat di mana variabel lingkungan global lainnya dapat ditetapkan untuk semua pengguna.

Jalur dan variabel ini diwarisi oleh semua pengguna dan aplikasi, sehingga benar-benar global - logout dan tidak akan mereset path ini - mereka dibangun untuk sistem dan dibuat sebelum pengguna diberi kesempatan untuk masuk, jadi perubahan pada ini membutuhkan sistem restart untuk berlaku.

BTW, instalasi bersih dari OS 10.7.x Lion tidak memiliki environment.plistyang dapat saya temukan, jadi mungkin berfungsi tetapi mungkin juga sudah usang.

jonphipps
sumber
1
Ya, terima kasih banyak! Ini sedikit lebih terlibat daripada profil sederhana.
Felixyz
2
Jika Anda menggunakan cara paths.d dan Anda memiliki jalur yang berisi folder yang berisi spasi, biarkan saja tidak terhapus. jika Anda mencoba untuk melarikan diri dari mereka (yang merupakan praktik umum saya pikir?) itu tidak berhasil (setidaknya untuk saya). saya membaca ini di sini: sweeting.org/mark/blog/2008/05/26/… (mencari 'spasi'). Semoga ini bisa membantu orang lain!
Michael Trouw
1
@MichaelTrouw Komentar Anda membantu saya satu ton! Saya menambahkan lolos untuk spasi, tapi itu tidak diperlukan! Saya menggunakan Mac OS
10.9.2
@ Jon, Bagaimana paths.dberbeda dari paths? Juga, apakah yang pertama menimpa yang terakhir?
Pacerier
53
echo $PATH

itu mencetak nilai jalur saat ini

Kemudian lakukan vim ~/.bash_profiledan tulis

export PATH=$PATH:/new/path/to/be/added

di sini Anda menambahkan ke jalur lama, jadi pertahankan jalur lama dan tambahkan jalur baru Anda ke sana

lalu lakukan

source ~/.bash_profile

ini akan menjalankannya dan menambahkan path

sekali lagi periksa dengan

echo $PATH
pelajar_19
sumber
2
perintah "vim" harus vim ~ / .bash_profile Saya mencoba mengedit posting tetapi SO memberitahu saya bahwa pengeditan harus 6 karakter: /
Jason Polites
31

Sayangnya tidak ada jawaban yang memecahkan masalah khusus yang saya miliki.

Inilah solusi sederhana tanpa harus dipusingkan bash. Dalam kasus saya, itu mulai gradlebekerja (untukAndroid Studio ).

Btw, Langkah-langkah ini berhubungan dengan OSX (Mountain Lion 10.8.5)

  • Buka Terminal.
  • Jalankan perintah berikut:

    sudo nano /etc/paths(atau sudo vim /etc/pathsuntuk vim)

    nano

  • Buka bagian bawah file, dan masukkan jalur yang ingin Anda tambahkan.
  • Tekan control-x untuk berhenti.
  • Masukkan 'Y' untuk menyimpan buffer yang dimodifikasi.
  • Buka jendela terminal baru kemudian ketik:

    echo $PATH

Anda akan melihat jalur baru ditambahkan ke akhir PATH

Saya mendapat detail ini dari pos ini:

http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/#.UkED3rxPp3Q

Saya harap itu bisa membantu orang lain

wired00
sumber
Setelah 3 jam mencoba memahami dan membuat ekspor apa pun yang berhasil saya coba ini dan berhasil. Satu langkah hilang. Saya akan menambahkannya.
1,21 gigawatt
@ 1.21gigawatts ahh bagus, senang itu membantu Anda keluar, terima kasih atas suntingannya
wired00
1
Pembaruan: Ini berfungsi tetapi harus memulai ulang sistem setelah pengeditan.
Anant Simran Singh
solusi sempurna!
Jayant Varshney
Sempurna untuk MacOS 10.12.X
Camille G.
23

Penjelasan Sederhana

Posting / pertanyaan ini agak lama, jadi saya akan menjawab versi yang disederhanakan untuk pengguna OS X Lion. Secara default, OSX Lion tidak memiliki file berikut ini:

  • ~ / .bashrc
  • ~ / .bash_profile
  • ~ /. profil

Paling-paling, jika Anda telah melakukan sesuatu di terminal Anda mungkin melihat ~ / .bash_history

Apa artinya

Anda harus membuat file untuk mengatur perintah bash default Anda (biasanya dalam ~ / .bashrc). Untuk melakukan ini, gunakan editor apa pun, meskipun lebih mudah melakukannya di dalam terminal:

  1. %> emacs .profile
  2. [dari dg tipe emacs:] source ~/.bashrc
  3. [dari dg tipe emacs:] Ctrl + x Ctrl + s(untuk menyimpan file)
  4. [dari dg tipe emacs:] Ctrl + x Ctrl + c(untuk menutup emacs)
  5. %> emacs .bashrc
  6. [dari w / di emacs ketik / rekatkan semua perintah bash Anda, simpan, dan keluar]

Lain kali Anda berhenti dan memuat ulang terminal, itu akan memuat semua preferensi bash Anda. Untuk ukuran yang baik, biasanya ide yang baik untuk memisahkan perintah Anda menjadi nama file yang berguna. Misalnya, dari dalam ~ / .bashrc, Anda harus memiliki source ~/.bash_aliasesdan meletakkan semua perintah alias Anda di ~ / .bash_aliases.

vol7ron
sumber
Mengapa mereka menghapusnya?
Pacerier
@Pacerier Saya tidak yakin apakah mereka menghapusnya, tetapi tanpa penyesuaian, file-file itu tidak diperlukan. Masalahnya adalah bahwa bagi siapa pun yang baru ke terminal / shell, OSX, atau BSD, file-file itu tidak jelas dan dengan demikian lebih sulit untuk dipelajari.
vol7ron
Jadi dengan apa mereka menggantinya?
Pacerier
Mereka opsional, jadi mereka tidak menggantinya dengan apa pun; ini file RC
vol7ron
18

Apa yang berhasil bagi saya adalah membuat .launchd.confdengan variabel yang saya butuhkan:

setenv FOO barbaz

File ini dibaca oleh launchd saat login. Anda dapat menambahkan variabel 'on the fly' ke launchd berjalan menggunakan:

launchctl setenv FOO barbaz`

Bahkan, .launchd.condcukup berisi perintah launchctl.

Variabel yang diatur dengan cara ini tampaknya hadir dalam aplikasi GUI dengan benar.

Jika Anda mencoba mengatur variabel LANG atau LC_ Anda dengan cara ini, dan Anda kebetulan menggunakan iTerm2, pastikan Anda menonaktifkan pengaturan 'Setel variabel lokal secara otomatis' di bawah tab Terminal di Profil yang Anda gunakan. Itu tampaknya mengesampingkan variabel lingkungan launchd, dan dalam kasus saya sedang menetapkan LC_CTYPE yang rusak menyebabkan masalah pada server jauh (yang dapat melewati variabel).

(Environment.plist tampaknya masih berfungsi pada Lion saya. Anda dapat menggunakan panel preferensi RCenvironment untuk memelihara file alih-alih mengeditnya secara manual atau memerlukan Xcode. Tampaknya masih berfungsi pada Lion, meskipun pembaruan terakhirnya dari Snow Leopard era. Jadikan metode pilihan saya pribadi.)

Gilimanjaro
sumber
Sejauh ini jawaban termudah. Perhatikan bahwa Anda perlu menutup aplikasi terminal sepenuhnya dan membukanya kembali agar perubahan diterapkan - tidak hanya menutup jendela terminal tunggal.
Timmmm
1
Jawaban ini terlalu terbuka untuk digunakan untuk OP. Buat bagaimana? Buat dimana?
HenryRootTwo
15

Atur variabel lingkungan PATH Anda di Mac OS

Buka program Terminal (ini ada di folder Applications / Utilites Anda secara default). Jalankan perintah berikut

touch ~/.bash_profile; open ~/.bash_profile

Ini akan membuka file di editor teks default Anda.

Untuk ANDROID SDK sebagai contoh:

Anda perlu menambahkan path ke direktori platform-alat dan alat SDK Android Anda. Dalam contoh saya, saya akan menggunakan "/ Development / android-sdk-macosx" sebagai direktori tempat SDK diinstal. Tambahkan baris berikut:

export PATH=${PATH}:/Development/android-sdk-macosx/platform-tools:/Development/android-sdk-macosx/tools

Simpan file dan keluar dari editor teks. Jalankan .bash_profile Anda untuk memperbarui PATH Anda.

source ~/.bash_profile

Sekarang setiap kali Anda membuka program Terminal, PATH Anda akan menyertakan Android SDK.

Charaf JRA
sumber
Terima kasih. Tidak tahu mengapa, tetapi hanya solusi ini yang bekerja untuk saya, bukan yang di atas.
kroky
Saya menambahkan variabel lingkungan seperti yang Anda katakan tetapi saya tidak dapat menggunakannya dalam xcode, apakah Anda punya ide? Saya perlu menggunakannya di jalur pencarian tajuk. Terima kasih sebelumnya.
Yucel Bayram
11

Menambahkan Variabel Path ke OS X Lion

Ini cukup lurus ke depan dan bekerja untuk saya, di terminal:

$echo "export PATH=$PATH:/path/to/whatever" >> .bash_profile #replace "/path/to/whatever" with the location of what you want to add to your bash profile, i.e: $ echo "export PATH=$PATH:/usr/local/Cellar/nginx/1.0.12/sbin" >> .bash_profile 
$. .bash_profile #restart your bash shell

Tanggapan serupa ada di sini: http://www.mac-forums.com/forums/os-x-operating-system/255324-problems-setting-path-variable-lion.html#post1317516

Yaw Joseph Etse
sumber
1
Perlu dicatat bahwa Anda harus menjalankan ini dari root direktori home Anda. Pastikan di situlah tempat Anda dengan mengeluarkan cdtanpa argumen atau cd ~/.
ephsmith
3
Tidak perlu me-restart shell. Gunakan source .bash_profile.
ephsmith
Saya suka metode ini karena pendek. Tapi sepertinya itu tidak berhasil. Saya lakukan echo "export PATH=$PATH:/Applications/XAMPP/xamppfiles/bin/mysql" >> .bash_profileMaka satu-satunya waktu yang bisa saya lakukan mysql -u root -padalah jika saya sudah menjalankan root. Padahal saya bisa gunakan di Applications/XAMPP/xamppfiles/bin/mysql -u root -pmana saja. Saya mencoba pendekatan restart yang disebutkan: Yaw's dan @ ephsmith's.
kasavbere
Juga, jika saya melakukan ech $ PATH sebagai root (yaitu sudo su) saya dapatkan /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/XAMPP/xamppfiles/bin. Ketika saya tidak melakukan root, saya mendapatkan/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
kasavbere
The $PATHvariabel pengguna tertentu (root adalah pengguna).
ephsmith
7

Terminal Terbuka:

vi ~/.bash_profile

Terapkan pengubahan ke sistem (tidak perlu me-restart komputer):

source ~/.bash_profile

(Juga bekerja dengan macOS Sierra 10.12.1)

Apakah Nhu Vy
sumber
5

Saya punya masalah dengan Eclipse (dimulai sebagai GUI, bukan dari skrip) di Maverics yang tidak mengambil PATH kustom. Saya mencoba semua metode yang disebutkan di atas tetapi tidak berhasil. Akhirnya saya menemukan jawaban kerja paling sederhana berdasarkan petunjuk dari sini :

  1. Buka folder /Applications/eclipse/Eclipse.app/Contents

  2. Edit file Info.plist dengan editor teks (atau XCode ), tambahkan kamus LSEnvironment untuk variabel lingkungan dengan path lengkap . Perhatikan bahwa itu termasuk juga / usr / bin dll:

    <dict>
      <key>LSEnvironment</key>
      <dict>
            <key>PATH</key>
            <string>/usr/bin:/bin:/usr/sbin:/sbin:/dev/android-ndk-r9b</string>
      </dict>
      <key>CFBundleDisplayName</key>
      <string>Eclipse</string>
      ...
    
  3. Muat ulang parameter untuk aplikasi dengan

    /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.fra‌​mework/Support/lsregister -v -f /Applications/eclipse/Eclipse.app
    
  4. Mulai ulang Eclipse

JaakL
sumber
5

Biarkan saya menggambarkan Anda dari contoh pribadi saya dengan cara yang sangat berlebihan.

  1. Pertama setelah menginstal JDK, pastikan itu diinstal. masukkan deskripsi gambar di sini
  2. Terkadang macOS atau Linux secara otomatis mengatur variabel lingkungan untuk Anda tidak seperti Windows. Tapi itu tidak selalu terjadi. Jadi mari kita periksa. masukkan deskripsi gambar di sini Baris segera setelah echo $ JAVA_HOME akan kosong jika variabel lingkungan tidak disetel. Itu harus kosong dalam kasus Anda.

  3. Sekarang kita perlu memeriksa apakah kita memiliki file bash_profile. masukkan deskripsi gambar di sini Anda melihat bahwa dalam kasus saya, kami sudah memiliki bash_profile. Jika tidak, kita harus membuat file bash_profile.

  4. Buat file bash_profile. masukkan deskripsi gambar di sini

  5. Periksa lagi untuk memastikan file bash_profile ada di sana. masukkan deskripsi gambar di sini

  6. Sekarang mari kita buka file bash_profile. macOS membukanya menggunakan program TextEdit standarnya. masukkan deskripsi gambar di sini

  7. Ini adalah file tempat variabel lingkungan disimpan. Jika Anda telah membuka file bash_profile baru, itu harus kosong. Dalam kasus saya, itu sudah diatur untuk bahasa pemrograman python dan distribusi Anaconda. Sekarang, saya perlu menambahkan variabel lingkungan untuk Java yang hanya menambahkan baris pertama. ANDA HARUS JENIS VERBATIM baris pertama. HANYA baris pertama. Simpan dan tutup TextEdit. Kemudian tutup terminal. masukkan deskripsi gambar di sini

  8. Buka terminal lagi. Mari kita periksa apakah variabel lingkungan sudah diatur. masukkan deskripsi gambar di sini

Sumit Pokhrel
sumber
4

Saya mengambil rute tolol. Menambahkan ini ke akhir / etc / profile

for environment in `find /etc/environments.d -type f`
do
     . $environment
done

membuat folder / etc / environment membuat file di dalamnya yang disebut "oracle" atau "apa pun" dan menambahkan hal-hal yang saya butuhkan diatur secara global untuk itu.

/ etc $ cat /etc/environmentments.d/Oracle

export PATH=$PATH:/Library/Oracle/instantclient_11_2
export DYLD_LIBRARY_PATH=/Library/Oracle/instantclient_11_2
export SQLPATH=/Library/Oracle/instantclient_11_2
export PATH=$PATH:/Library/Oracle/instantclient_11_2
export TNS_ADMIN=/Library/Oracle/instantclient_11_2/network/admin
Rob di Katy
sumber
1

Lebih detail, yang mungkin bisa membantu seseorang:

Karena penjelajahan saya sendiri, sekarang saya tahu cara mengatur variabel lingkungan dalam 7 dari 8 cara yang berbeda. Saya mencoba untuk mendapatkan envar melalui aplikasi yang saya kembangkan di bawah Xcode. Saya mengatur "tracer" envars menggunakan berbagai metode ini untuk memberi tahu saya mana yang memasukkannya ke dalam ruang lingkup aplikasi saya. Dari bawah, Anda dapat melihat bahwa mengedit "skema" di Xcode untuk menambahkan argumen berfungsi, seperti halnya "putenv". Apa yang tidak mengaturnya dalam lingkup itu: ~ / .MACOS / environment.plist, plist khusus aplikasi, .profile, dan menambahkan fase pembuatan untuk menjalankan skrip khusus (saya menemukan cara lain dalam Xcode [setidaknya] untuk mengatur satu tapi lupa apa yang saya sebut pelacak dan tidak dapat menemukannya sekarang; mungkin ada di komputer lain ....)

GPU_DUMP_DEVICE_KERNEL adalah 3

GPU_DUMP_TRK_ENVPLIST adalah (null)

GPU_DUMP_TRK_APPPLIST adalah (null)

GPU_DUMP_TRK_DOTPROFILE adalah (nol)

GPU_DUMP_TRK_RUNSCRIPT adalah (nol)

GPU_DUMP_TRK_SCHARGS adalah 1

GPU_DUMP_TRK_PUTENV adalah 1

... di sisi lain, jika saya pergi ke Terminal dan mengatakan "set", sepertinya satu-satunya yang didapat adalah yang dari .profile (saya akan berpikir itu akan mengambil environment.plist juga, dan saya yakin sekali saya memang melihat envar pelacak kedua di Terminal, jadi ada sesuatu yang mungkin sudah tidak ada sejak itu. Hari yang panjang ....)

Photovore
sumber
0

Langkah1: buka ~/.bash_profile

Sekarang editor teks terbuka:

Step2: nama variabel harus dalam huruf kapital. dalam contoh ini variabelnya adalahNODE_ENV

Step3: export NODE_ENV=development

Simpan dan tutup.

Mulai ulang sistem Anda.

Selesai

Untuk memeriksa variabel env: buka terminal dan ketik

echo $NODE_ENV 
Navya
sumber
0

Disarankan untuk memeriksa shell terminal default sebelum mengatur variabel lingkungan apa pun, melalui perintah berikut:

$ echo $SHELL
/bin/zsh

Jika terminal default Anda adalah / bin / zsh (Z Shell) seperti dalam kasus saya (Secara pribadi lebih suka Z Shell), maka Anda harus mengatur variabel lingkungan ini dalam file ~ / .zshenv dengan konten berikut (Dalam contoh ini, mengatur variabel lingkungan JAVA_HOME , tetapi hal yang sama berlaku untuk orang lain):

export JAVA_HOME="$(/usr/libexec/java_home)"

Demikian pula, setiap jenis terminal lain yang tidak disebutkan di atas, Anda harus mengatur variabel lingkungan di masing-masing file terminal env.

Jerry Chong
sumber