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 ...
sumber
Jawaban:
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:
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:
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.
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.
sumber
~/.bashrc
.~/.bashrc
file berjalan setiap kali Anda membuka shell bash non-login baru seperti xterm / aterm, dan~/.bash_profile
hanya berjalan dengan shell login yaitu ketika Anda pertama kali masuk ke sistem.Anda
.profile
atau.bash_profile
hanya 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 mengetikkanls
daftar file Anda masih tidak akan melihatnya. Namun, Anda dapat menemukannya dengan menggunakanls -a
di 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
.profile
tambah saja Anda , satu per baris, nama variabel dan nilainya sebagai berikut:dll.
Jika Anda memodifikasi variabel "PATH" Anda, pastikan untuk memasukkan PATH default sistem yang telah ditetapkan untuk Anda:
Sekarang di sini adalah bagian yang unik, Anda dapat membuka jendela Terminal baru untuk menerapkan variabel baru, atau Anda perlu mengetik
.profile
atau.bash_profile
memuat 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
(atauset | more
jika 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.
sumber
. .profile
untuk memuatnya..profile
. Saya baru saja mengintip mesin yang baru saja saya beli dan mereka tampaknya menggunakan.profile
hari ini dan tidak.bash_profile
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:
/private/etc/paths
, satu jalur per baris/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.setenv PATH
pernyataan 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.plist
yang dapat saya temukan, jadi mungkin berfungsi tetapi mungkin juga sudah usang.sumber
paths.d
berbeda daripaths
? Juga, apakah yang pertama menimpa yang terakhir?itu mencetak nilai jalur saat ini
Kemudian lakukan
vim ~/.bash_profile
dan tulisdi sini Anda menambahkan ke jalur lama, jadi pertahankan jalur lama dan tambahkan jalur baru Anda ke sana
lalu lakukan
ini akan menjalankannya dan menambahkan path
sekali lagi periksa dengan
sumber
Sayangnya tidak ada jawaban yang memecahkan masalah khusus yang saya miliki.
Inilah solusi sederhana tanpa harus dipusingkan
bash
. Dalam kasus saya, itu mulaigradle
bekerja (untukAndroid Studio
).Btw, Langkah-langkah ini berhubungan dengan OSX (Mountain Lion 10.8.5)
Jalankan perintah berikut:
sudo nano /etc/paths
(atausudo vim /etc/paths
untuk vim)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
sumber
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:
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:
source ~/.bashrc
Ctrl + x Ctrl + s
(untuk menyimpan file)Ctrl + x Ctrl + c
(untuk menutup emacs)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_aliases
dan meletakkan semua perintah alias Anda di ~ / .bash_aliases.sumber
Apa yang berhasil bagi saya adalah membuat
.launchd.conf
dengan variabel yang saya butuhkan:File ini dibaca oleh launchd saat login. Anda dapat menambahkan variabel 'on the fly' ke launchd berjalan menggunakan:
Bahkan,
.launchd.cond
cukup 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.)
sumber
Atur variabel lingkungan PATH Anda di Mac OS
Buka program Terminal (ini ada di folder Applications / Utilites Anda secara default). Jalankan perintah berikut
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:
Simpan file dan keluar dari editor teks. Jalankan .bash_profile Anda untuk memperbarui PATH Anda.
Sekarang setiap kali Anda membuka program Terminal, PATH Anda akan menyertakan Android SDK.
sumber
Menambahkan Variabel Path ke OS X Lion
Ini cukup lurus ke depan dan bekerja untuk saya, di terminal:
Tanggapan serupa ada di sini: http://www.mac-forums.com/forums/os-x-operating-system/255324-problems-setting-path-variable-lion.html#post1317516
sumber
cd
tanpa argumen ataucd ~/
.source .bash_profile
.echo "export PATH=$PATH:/Applications/XAMPP/xamppfiles/bin/mysql" >> .bash_profile
Maka satu-satunya waktu yang bisa saya lakukanmysql -u root -p
adalah jika saya sudah menjalankan root. Padahal saya bisa gunakan diApplications/XAMPP/xamppfiles/bin/mysql -u root -p
mana saja. Saya mencoba pendekatan restart yang disebutkan: Yaw's dan @ ephsmith's./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
$PATH
variabel pengguna tertentu (root adalah pengguna).Terminal Terbuka:
Terapkan pengubahan ke sistem (tidak perlu me-restart komputer):
(Juga bekerja dengan macOS Sierra 10.12.1)
sumber
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 :
Buka folder /Applications/eclipse/Eclipse.app/Contents
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:
Muat ulang parameter untuk aplikasi dengan
Mulai ulang Eclipse
sumber
Biarkan saya menggambarkan Anda dari contoh pribadi saya dengan cara yang sangat berlebihan.
Terkadang macOS atau Linux secara otomatis mengatur variabel lingkungan untuk Anda tidak seperti Windows. Tapi itu tidak selalu terjadi. Jadi mari kita periksa. Baris segera setelah echo $ JAVA_HOME akan kosong jika variabel lingkungan tidak disetel. Itu harus kosong dalam kasus Anda.
Sekarang kita perlu memeriksa apakah kita memiliki file bash_profile. Anda melihat bahwa dalam kasus saya, kami sudah memiliki bash_profile. Jika tidak, kita harus membuat file bash_profile.
Buat file bash_profile.
Periksa lagi untuk memastikan file bash_profile ada di sana.
Sekarang mari kita buka file bash_profile. macOS membukanya menggunakan program TextEdit standarnya.
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.
Buka terminal lagi. Mari kita periksa apakah variabel lingkungan sudah diatur.
sumber
Saya mengambil rute tolol. Menambahkan ini ke akhir / etc / profile
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
sumber
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 ....)
sumber
Langkah1: buka
~/.bash_profile
Sekarang editor teks terbuka:
Step2: nama variabel harus dalam huruf kapital. dalam contoh ini variabelnya adalah
NODE_ENV
Step3:
export NODE_ENV=development
Simpan dan tutup.
Mulai ulang sistem Anda.
Selesai
Untuk memeriksa variabel env: buka terminal dan ketik
sumber
Disarankan untuk memeriksa shell terminal default sebelum mengatur variabel lingkungan apa pun, melalui perintah berikut:
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):
Demikian pula, setiap jenis terminal lain yang tidak disebutkan di atas, Anda harus mengatur variabel lingkungan di masing-masing file terminal env.
sumber