Jadi, apa yang saya coba lakukan adalah membuat bin
direktori pribadi di folder rumah saya. Saya membuat folder berikut:
/Users/thi/bin
Saya meletakkan skrip saya di folder ini, tetapi jika saya mengetik di Terminal:
myScript
Itu tidak berjalan.
Saya diberitahu bahwa saya harus mengekspor path bin ini, sesuatu yang berhubungan dengan echo $PATH
, tetapi saya tidak tahu bagaimana melakukannya.
Jawaban:
Anda perlu menambahkan yang berikut ke file
~/.profile
:Kemudian
source ~/.profile
Perhatikan, Anda mungkin perlu membuat file ini, dan karena itu dimulai dengan file
.
itu mungkin tidak terlihat di finder untuk diedit melalui aplikasi seperti editor teks. Untuk daftar semua file termasuk yang tersembunyi, gunakan:sumber
$HOME/bin
daripada/Users/thi/bin
. Anda kemudian dapat menyalin pengaturan Anda ke komputer lain, di mana nama pengguna Anda mungkin berbeda..profile
file Anda .export PATH=$HOME/bin:$PATH
ke$HOME/.bash_profile
.Jika Anda menggunakan bash, tambahkan baris seperti ini ke
~/.bash_profile
:PATH
ditandai untuk diekspor secara default, jadi Anda tidak perlu menggunakanexport
.Jika keduanya
~/.bash_profile
dan~/.profile
ada, bash hanya membaca~/.bash_profile
ketika dipanggil sebagai shell login interaktif.~/.profile
juga digunakan oleh shell lain yang mungkin tidak memahami opsi konfigurasi yang sama dengan bash.Terminal dan iTerm 2 membuka shell baru sebagai shell login secara default. Ketika bash dipanggil sebagai shell login interaktif, bash dibaca
~/.bash_profile
tetapi tidak~/.bashrc
. Emulator terminal pada platform lain sering membuka cangkang baru sebagai cangkang non-login, jadi misalnya bash membaca~/.bashrc
tetapi tidak~/.bash_profile
. Pengguna OS X sering menggunakan~/.bash_profile
sebagai file konfigurasi pribadi yang sesuai dengan~/.bashrc
pada platform lain, tetapi juga umum untuk sumber~/.bashrc
dari~/.bash_profile
atau memberitahu Terminal atau iTerm 2 untuk membuka shell baru sebagai shell non-login.Anda juga dapat mengubah jalur lebih global di
/etc/paths
atau/etc/launchd.conf
, tetapi dalam banyak konteks jalur masih akan default/usr/bin:/bin:/usr/sbin:/sbin
. Dan saya hanya benar-benar perlu mengubah jalur di shell dan editor teks.sumber
export PATH=$HOME/bin:$PATH
ke$HOME/.bash_profile
.~
(ketika tidak dikutip) dan$HOME
diperluas sebelum penugasan variabel baik saat menggunakan ekspor atau penugasan biasa..bash_profile
atau.profile
? Atau Anda memiliki.bashrc
di direktori home Anda?. ~/.bashrc
. Shell baru dibuka sebagai shell non-login dalam mode shell di emacs dan di tmux. Saya tidak akan menggunakan .profile sebagai file konfigurasi utama saya, karena ini juga dibaca oleh shell lain seperti ksh.Anda biasanya akan meletakkan path tambahan setelah
$PATH
sukaPATH=$PATH:/$HOME/bin
karena jika Anda tidak ingin menggantikan executable lain dengan nama yang sama yang mungkin ada/bin
, dll.sumber
$HOME/bin
di awal tepat karena alasan itu. Tetapi kuncinya adalah bahwa urutan direktori dalam$PATH
masalah dan bahwa shell akan memilih perintah yang cocok pertama. Terima kasih telah menunjukkan ini.