Komutun diğer ad, işlev veya ikili olup olmadığını nasıl test edebilirim?


Yanıtlar:


23

Bash (veya Bourne benzeri başka bir kabuk) kullanıyorsanız, kullanabilirsiniz type.

type command

olmadığını söyleyecektir commandyerleşik bir kabuk, takma adıdır (ve eğer öyleyse, ne diğer adı), fonksiyon (ve fonksiyon gövdesini listeler eğer öyleyse) ya da bir dosyada saklanır (ve eğer öyleyse, dosyaya yol) .

Bir "ikili" dosya hakkında daha fazla bilgi için şunları yapabilirsiniz:

file "$(type -P command)" 2>/dev/null

Bu, commandtakma ad, işlev veya kabuk yerleşikse hiçbir şey döndürmez , ancak bir komut dosyası veya derlenmiş bir ikili ise daha fazla bilgi döndürür.

Referanslar


3

Cevap hangi kabuğu kullandığınıza bağlı olacaktır.

Zsh için, kabuk yerleşik whence -wsize tam olarak ne istediğinizi söyleyecektir

Örneğin

$ whence -w whence
whence : builtin
$ whence -w man     
man : command 

1

Zsh olarak kontrol edebilirsiniz aliases, functionsve commandsdiziler.

(( ${+aliases[foo]} )) && print 'foo is an alias'
(( ${+functions[foo]} )) && print 'foo is a function'
(( ${+commands[foo]} )) && print 'foo is an external command'

Ayrıca builtinsyerleşik komutlar için de var .

(( ${+builtins[foo]} )) && print 'foo is a builtin command'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.