GNU/Linux >> Belajar Linux >  >> Linux

Di mana tempat permanen yang bagus untuk menginstal skrip bash khusus?

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.


Linux
  1. Penanganan kesalahan dalam skrip Bash

  2. Gunakan Ekstensi .sh Atau .bash Untuk Skrip Bash?

  3. Di manakah lokasi Mono Ide?

  1. Jalankan Skrip Bash Saat Memasuki Direktori?

  2. Berbagi Variabel di Beberapa Skrip Shell?

  3. Menggunakan Perintah Tidur Linux di Skrip Bash

  1. Menggunakan Bash untuk otomatisasi

  2. Menggunakan Perintah Nama Dasar Linux di Skrip Bash

  3. Cara menggemakan Baris Baru di Bash Shell Script