Pertanyaan Temukan jalur program


Di Unix saya dapat memanggil program tertentu dari mana saja, seperti sort, pwd atau my_custom_script.sh.

Bagaimana saya bisa mengetahui, di mana pada sistem my_custom_script.sh benar-benar berada?


4
2018-05-20 09:54


asal




Jawaban:


Saya akan merekomendasikan menggunakan type command. which command hanya melihat di PATH sehingga dapat menyesatkan untuk builtins (seperti pwd), fungsi dan alias.


2
2018-05-20 10:16



which sebenarnya juga mencantumkan alias. - Daniel Beck♦
Saya takut tidak bisa. which bukan shell builtin jadi tidak tahu tentang perintah internal / alias dan sejenisnya. - jlliagre
Di kotak Linux saya, "yang" secara tidak terduga alias. Maaf soal itu. - Daniel Beck♦


Menggunakan which

which sort

Memberi Anda (misalnya):

/usr/bin/sort

Ini juga membantu Anda memecahkan masalah dengan PATH Anda, mis. jika Anda memiliki beberapa versi dari biner yang sama terinstal dan Anda tidak tahu yang mana yang dipanggil.

Jadi, jika Anda memiliki beberapa versi, Anda dapat menggunakan -a beralih:

charon:~ werner$ which -a ruby
/Users/werner/.rvm/rubies/ruby-1.9.2-head/bin/ruby
/Users/werner/.rvm/bin/ruby
/usr/bin/ruby

7
2018-05-20 09:57



which akan berfungsi untuk my_custom_script.sh tetapi akan memberikan informasi yang menyesatkan tentang perintah pwd dan serupa. - jlliagre