Saya bermain-main dengan variabel lingkungan di Mac saya, mencoba mempelajari cara menggunakannya dan saya menggunakan perintah nano ~/.bash_profile
tempat saya kemudian menambahkan baris HOME=/Users/MyCompName/Desktop
untuk memperbarui variabel rumah saya.
Perubahan ini berhasil dan dapat dilihat ketika saya gunakan printenv
untuk melihat semua variabel lingkungan, tetapi ketika saya HOME
kembali, sepertinya saya tidak dapat menemukan ~/.bash_profile
lagi. Kemana perginya?
~
berarti$HOME
$HOME
,~
akan didefinisikan ulang jugaJawaban:
Itu di tempat yang sama.
Sebelum perubahan
~
diperluas menjadi seperti/Users/YourUserName
, shell menemukan Anda di.bash_profile
sana. Setelah file bersumber,~
memperluas ke jalur lain sehingga~/.bash_profile
tidak lagi menunjuk ke file yang relevan. Ini karena dalam konteks ini~
berarti$HOME
.Jika Anda mengetahui path lengkap ke direktori home Anda yang sebenarnya, Anda dapat menggunakannya sebagai gantinya
~
. Di Mac mungkin akan terlihat seperti ini:Atau biarkan Bash Anda mencari direktori home Anda di database pengguna daripada hanya melihat
$HOME
. Ini tidak mengharuskan Anda untuk mengingat apa pun:Memodifikasi
HOME
variabel Anda tanpa mengubah direktori home Anda yang sebenarnya bukanlah ide terbaik. Mengubah direktori home pengguna mana pun adalah tugas administratif, biasanya pengguna biasa tidak dapat melakukan ini.sumber
.bash_profile
memiliki bentuk skrip Bash. Anda dapat menjalankan skrip atau sumbernya. Menjalankan berarti membuat subkulit dan menjalankan skrip baris demi baris di sana. Sumber berarti mengeksekusi skrip di shell saat ini . Beberapa tugas yang dimaksudkan untuk mempengaruhi shell saat ini tidak dapat dijalankan dalam subkulit; mengubah variabel untuk shell saat ini adalah salah satunya. Itu sebabnya beberapa file bersumber, tidak dieksekusi dalam subkulit. Untuk sumber menggunakan file secara manual. file
(.
ditentukan oleh POSIX) atausource file
(source
adalah ekstensi non-POSIX dipahami oleh beberapa shell).nano ~YourUserName/.bash_profile
. Ini akan mencari direktori home Anda di basis data pengguna daripada hanya melihat $ HOME.