Solusi 1:
(Catatan:~
diterjemahkan sebagai /home/user
dalam posting ini)
Secara pribadi, saya meletakkan semua skrip sistem buatan saya di /usr/local/bin
dan semua skrip bash pribadi saya di ~/bin
. Sangat sedikit program yang saya instal menempatkan dirinya di /usr/local/bin
direktori sehingga tidak terlalu berantakan dan sudah ada di $PATH
variabel di sebagian besar mesin saya.
Untuk menambahkan /usr/local/bin
ke jalur sistem Anda (jika belum ada) tambahkan ini ke /etc/profile
:
PATH=$PATH:/usr/local/bin
export PATH
Untuk menambahkan ~/bin
ke jalur pengguna Anda, tambahkan ini ke ~/.bash_profile
:
PATH=$PATH:$HOME/bin
export PATH
Terkadang .bash_profile
default file akan memiliki pernyataan if yang secara otomatis menambahkan ~/bin
ke $PATH
jika ada, buatlah ~/bin
dan buka terminal baru untuk melihat apakah terminal Anda sudah melakukannya.
Solusi 2:
/usr/local/ benar-benar tempat yang tepat, sedangkan /opt benar-benar untuk aplikasi pihak ketiga; "/opt dicadangkan untuk penginstalan paket perangkat lunak aplikasi tambahan." Ini adalah bagian dari Standar Hierarki Sistem File.
Lihat http://www.pathname.com/fhs/pub/fhs-2.3.html untuk diskusi tentang /opt.
Untuk /usr/local/, ini untuk "digunakan oleh administrator sistem". Jangan lupa tentang hal-hal yang ada di sana -- dokumentasikan.
Solusi 3:
Secara historis Anda akan menggunakan sesuatu seperti /opt. Apa pun baik-baik saja asalkan diperbarui di $PATH untuk pengguna yang seharusnya memilikinya (sehingga apa pun di /home menjadi ide yang buruk).
Solusi 4:
/usr/share/clojure
sepertinya tempat yang umum untuk meletakkan binari dan perpustakaan clojure — mengapa saya tidak tahu, sepertinya wajar untuk /usr/local/share/clojure
— jadi membuat site
subdirektori di bawah ini untuk skrip bash ini tampaknya baik-baik saja.
Poin umumnya adalah lebih masuk akal untuk mengatur skrip berdasarkan fungsi, tidak memiliki semua skrip bash di tempat yang sama.
Solusi 5:
/usr/local
, saya yakin ada kebingungan tentang arti "lokal".
Seperti yang saya pahami, "lokal" tidak berarti "berasal dari/dari mesin lokal" tetapi, lebih sederhananya, "khusus untuk mesin lokal", yang mungkin atau mungkin tidak berasal dari/dari mesin lokal.