Pertanyaan saya tampaknya sepele tetapi saya tidak berhasil menemukan sesuatu yang bermanfaat di internet. Saya memiliki biner di
/urs/bin/binary
tetapi sudah usang dan versi yang lebih baru tersedia di beberapa mount misalnya
/mount/new_version/binary
Ada skrip bash yang memanggil biner ini dalam bentuk seperti
binary -doSomething
Saya perlu skrip ini untuk menjalankan versi baru dari biner, bukan yang lama tapi saya tidak diizinkan untuk mengubah skrip ini. Apakah cara untuk menimpa jalur itu entah bagaimana hanya untuk pengguna saya? Bantuan apa pun akan dihargai.
Jawaban:
Jika biner dalam
/usr/bin/binary
dan script memanggil biner tanpa menentukan path lengkap, melainkan bergantung pada/usr/bin
berada diPATH
maka Anda dapat menambahkan lokasi biner baru ke awal penggunaPATH
. Masukkan sesuatu seperti ini di~/.bashrc
:Untuk alasan keamanan, skrip sering menentukan path lengkap ke binari untuk mencegah hal semacam ini.
sumber
Jika Anda memiliki akses ke biner, Anda dapat mencadangkannya dan membuat tautan simbolik.
[EDIT]
Maaf, tidak melihat perubahan harus dilakukan untuk satu pengguna saja.
Anda dapat membuat fungsi untuk dipanggil, bukan biner.
Bergantung pada bagaimana Anda menjalankan biner (path lengkap atau hanya nama) Anda harus membuat fungsi yang sesuai , seperti:
Jika biner tidak menerima / membutuhkan argumen, hapus "$ @" .
Untuk mengotomatisasi pembuatan fungsi, masukkan baris fungsi dalam file .profile di direktori home user.
sumber
alias commandname=/mount/new_version/binary
di .bashrc di atas pernyataan jalur / ekspor atau di profil akan menyelesaikan cukup mudah.
sumber