Saya memiliki beberapa skrip bash yang sangat sederhana yang saya buat bersama untuk hal-hal yang saya lakukan secara teratur. Salah satunya adalah menjalankan duplikasi untuk melakukan tugas cadangan saya. Tidak ada yang pintar hanya sekelompok jika .. maka pernyataan benar-benar. Karena ini perlu dijalankan sebagai sudo apakah itu praktik terbaik untuk meletakkan skrip saya di / usr / bin (atau lokasi lain di PATH), chown to root.root dan chmod ke 700?
15
git
untuk mengontrol versi skrip Anda, letakkan salinan lokal dari git repo di tempat yang Anda sukai~
, dan kemudian symlink skrip ke dalamnya~/bin
.git
seperti digithub
dalam awan?/usr/local/bin
. Kalau tidak, saya akan mengatakan hanya memasukkan mereka~/bin
. Skrip Anda sendiri di kedua direktori harus aman saat Anda meningkatkan.~/bin
ini adalah tempat terbaik untuk sebagian besar skrip karena Anda tidak harus menggunakansudo
untuk mengeditnya seperti yang Anda lakukan ketika disimpan/usr/local/bin
.Jawaban:
Saya menyimpan skrip saya sendiri di
/opt/scripts
.Jika skrip Anda dapat dieksekusi oleh setiap pengguna sistem, Anda dapat membuat tautan simbolis
/usr/bin
.Jika hanya root yang harus menjalankan skrip, Anda dapat membuat tautan simbolis
/usr/sbin
.Perintah untuk menambahkan tautan simbolis di
/usr/bin/
:Anda dapat menjalankan skrip, karena
/usr/bin/
secara default ada di PATH Anda .sumber
/usr/bin
sebagai target untuk skrip shell pengguna / lokal - yaitu/usr/local/bin
(atau/opt/bin
) sesuai standar hirarki Filesystem - Wiki Debian untuk menghindari konflik (sebagian besar waktu, Anda ingin agar skrip yang disediakan Ubuntu diutamakan)./usr/local/bin
menimpa/usr/bin
, seperti yang terjadi kemudian di jalan. Ini sengaja, karena sistem tidak meletakkan file di sana, sehingga Anda dapat meletakkan file di sana, yang HARUS menimpa sistem yang disediakan.Jika tidak ada pengguna lain selain Anda menggunakan skrip ini:
Kemudian Anda bisa menyimpannya
/home/$USER/bin
. Buatbin
folder jika tidak ada dan pindahkan file ke sana. Folder bin di rumah Anda secara otomatis akan ditambahkan ke variabel lingkungan PATH. Kode tersebut ada di.profile
:Lihat Bagaimana cara menambahkan / home / nama pengguna / bin ke $ PATH?
Atau di beberapa sistem mungkin di
.bashrc
:Terima kasih Penatua Geek
Jika skrip ini digunakan oleh pengguna lain:
Maka salah satu
/usr/local/bin
atau/opt/bin
opsi yang baik. Lihat Apakah ada tempat standar untuk menempatkan skrip Linux khusus?Semoga ini membantu
sumber
Saya memiliki direktori yang saya gunakan untuk koleksi cepat alat lokal saya atau hal-hal yang saya gunakan di berbagai komputer di
/usr/local/apollo
. Ada cabang dari direktori ini untukflags
,bin
danlogs
.Untuk aplikasi yang saya unduh dan instal di luar default
apt-get
repositori ditempatkan di/opt/
dan direktori dengan nama aplikasi, dengan satu lagi sub-direktori untuk versi spesifik aplikasi. Dengan cara ini versi aplikasi saya yang dikompilasi sukavlc
ataueclipse
tidak akan bertentangan dengan versi yang didistribusikan.Penggunaan saya
/opt
pada dasarnya dirancang secara resmi.By the way direktori
/usr/local/bin
,/usr/local/apollo
dan/opt
survives versi OS instalasi menimpa segar.sumber
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Saya suka faktanya/usr/local/bin
sudah di jalan satu hal yang kurang untuk diingat. Saya suka metode Anda,/opt/program/version
saya bisa menggunakannya untuk hal-hal Kernel yang saya dapatkan dan kompilasi seperti EnhanceIO di mana mereka mengubah hal-hal antara versi kernel. Apakah/apollo
moon landing favorit pribadi atau apakah itu memiliki makna Ubuntu?/usr/local/bin
danusr/local/sbin
sedemikian rupa sehingga yang terakhir nuked selama upgrade?/usr/local
direktori, tetapi tidak memasukkan apa pun di dalamnya. Direktori-direktori tersebut diisi oleh pengguna. Banyak program sumber di luar repositori memberi pengguna pilihan untuk memilih ke mana mereka ingin menginstal. Default dalam file konfigurasi adalah/usr/local/bin
. Jadi karena seberapa umum menggunakan direktori-direktori itu, mereka secara default dimasukkan dalam jalur pengguna. Secara default sistem memeriksa~/bin
dan menambahkannya ke jalur jika ada.~/bin
selama instalasi atau setiap boot? Apa perbedaan antarasbin
danbin
? Mereka tampaknya hidup berdampingan harus ada quasi-rules yang Anda pilih berdasarkan jenis program bukan?~/bin
jalan ... itu tidak ditambahkan selama instalasi. Sistem memeriksa untuk itu pada setiap login dan menambahkannya ke $ PATH jika ada selama login. Lihatlah dua baris terakhir dari~/.profile
pengaturan Anda .