İşlev gövdesini Bash'te görüntüleme


14

Dosyamda birkaç işlev .bashrcayarladım. Ben hızlı bir şekilde başvurmak için, sadece fonksiyonun gerçek kodunu görüntülemek ve yürütmek istemiyorum.

İşlev tanımını görebilmemizin bir yolu var mı?

Yanıtlar:


15

declareBuiltin en -fopsiyon bunu yapar:

bash-4.2$ declare -f apropos1
apropos1 () 
{ 
    apropos "$@" | grep ' (1.*) '
}

typeBu amaçla kullanıyorum , yazmak daha kısadır;)

bash-4.2$ type apropos1
apropos1 is a function
apropos1 () 
{ 
    apropos "$@" | grep ' (1.*) '
}

6

Bunu typeyapmak için komutu kullanabilirsiniz .

type yourfuncişlevi STDOUT'a yazdıracaktır. As man typediyor

Tür yardımcı programı, komut adı olarak kullanıldığında her bir bağımsız değişkenin nasıl yorumlanacağını belirtmelidir.

2
man type? Shell yapılarının sistemimde genellikle man sayfası yok.
manatwork

Cevabımı bir linkle güncelledim. Kullandığım sistem Arch Linux.
jasonwryan

1
Teşekkür ederim. Görünüşe insan sayfalar paketi çok daha Arch olarak barındırmaktadır.
manatwork

Sorun değil: POSIX man sayfalarından biri olduğu için, yaygın olarak dağıtılacağını düşündüm ...
jasonwryan

4
help typeBash'a özgü bilgileri gösterir.
l0b0

0

yerleşik komutların bilgi kullanımı için:

help [-s|-d] COMMAND1 COMMAND2 ....

Örneğin:

help help alias

Hepsiyle ilgili bilgi için, örneğin:

help -s '' 
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.