SORU
17 EYLÜL 2008, ÇARŞAMBA


Eğer bir fonksiyon bash içinde olup olmadığını belirlemek

Şu anda bash yürütülen bazı birim testleri yapıyorum. Birim testleri başlatıldı ve bir bash betiği içinde temizlenmiş yürütülür. Bu komut genellikle bir init içerir(), yürütme() ve temizleme() işlevleri. Ancak zorunlu değil. Ya da tanımlı değilse test etmek istiyorum.

Daha önce ve kaynak greping seding tarafından bu yaptım, ama yanlış geldi. Daha zarif bir şekilde bunu yapmak için var mı?

Edit: aşağıdaki sniplet bir cazibe gibi çalışır

fn_exists()
{
    type $1 | grep -q 'shell function'
}

CEVAP
17 EYLÜL 2008, ÇARŞAMBA


Bu aradığını düşünüyorum 'türü' komutu. Sana bir şey fonksiyon-fonksiyon dahili olup, dış komut, ya da sadece tanımlı değil anlatacağım. Örnek:

$ type foo
bash: type: foo: not found

$ type ls
ls is aliased to `ls --color=auto'

$ which type

$ type type
type is a shell builtin

$ type -t rvm
function

$ if [ -n "$(type -t rvm)" ] && [ "$(type -t rvm)" = function ]; then echo rvm is a function; else echo rvm is NOT a function; fi
rvm is a function

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DroidModderX ROOT Master

    DroidModderX

    14 ŞUBAT 2011
  • Majestic Casual

    Majestic Cas

    28 NİSAN 2012
  • MrRandomSong

    MrRandomSong

    29 Kasım 2009