Sebagai contoh, jika dilewatkan ls
sebagai input, ia harus memberitahu saya bahwa /bin/ls
akan berjalan jika dijalankan ls
pada command-line.
sumber
Sebagai contoh, jika dilewatkan ls
sebagai input, ia harus memberitahu saya bahwa /bin/ls
akan berjalan jika dijalankan ls
pada command-line.
Hanya built-in shell yang akan memberi tahu yang benar apa yang shell akan lakukan untuk nama perintah yang diberikan, karena hanya built-in yang dapat sepenuhnya tahu tentang alias, fungsi shell, built-in lainnya, dan sebagainya. Ingat: Tidak semua perintah terkait dengan file yang dapat dieksekusi di tempat pertama.
Untuk shell Bourne Again bash
, built-in adalah type
perintah:
$ type '['
[ is a shell builtin
Untuk cangkang Ikanfish
,, type
builtin bekerja mirip dengan bash. Untuk mendapatkan path ke executable, gunakan command -v
:
$ type cat
cat is /bin/cat
$ command -v cat
/bin/cat
Untuk Korn Shell, ksh
, built-in adalah whence
perintah - dengan type
awalnya dibentuk sebagai alias biasa untuk whence -v
dan command
built-in dengan -v
opsi setara dengan whence
:
$ whence -v ls
ls is a tracked alias for /bin/ls
Untuk Z Shell, zsh
, built-in adalah whence
perintah, dengan command
built-in dengan -v
opsi setara dengan whence
dan built-in type
, which
dan where
setara dengan whence
dengan pilihan -v
, -c
dan -ca
masing-masing.
$ whence ls
/bin/ls
Untuk TC Shell, tcsh
, built-in adalah which
perintah - tidak harus bingung dengan perintah eksternal dengan nama itu:
> which ls
ls: aliased to ls-F
> which \ls
/bin/ls
type
juga dibangun untuk zsh?which-2.19-6.el6.x86_64
) menempatkan file startup/etc/profile.d/which2.sh
. Ini dibaca oleh cangkang non-csh, termasuk zsh. Itu aliaswhich
untuk dirinya sendiri. Jadi untuk pengguna zsh pada khususnya itu menimpa istirahat builtinwhich
.Anda dapat menggunakan
which
ini:Ini bekerja dengan mencari
PATH
file yang dapat dieksekusi yang cocok dengan nama-nama argumen. Perhatikan bahwa ini tidak bekerja dengan alias alias:type
Namun, berhasil:sumber
which
belum tentu cukup sendiri. Hanya mengembalikan pertama berhasil ditemukan nama di $ PATH ... Itu nama mungkin symbolic link, dan tidak aktual akhir-of-rantai dieksekusi.which
tidak tidak (harus) mengembalikan file eksekusi. Ini mengembalikan nama file yang cocok pertama yang ditemukan di $ PATH (atau beberapa file seperti bernama saat menggunakanwhich -a
) ... executable yang sebenarnya mungkin beberapa link jauhnya.which locate
/usr/bin/locate
`
file $(which locate)
/usr/bin/locate: symbolic link to /etc/alternatives/locate'
Perintah yang menemukan executable aktual adalah
readlink -e
,(dalam hubungannya dengan
which
)readlink -e $(which locate)
/usr/bin/mlocate
Untuk melihat semua tautan perantara :
sumber
Anda dapat mencoba:
Ini memberi saya:
sumber