Kullanıcı tanımlı işlevler
Genellikle bash işlevleri bir bash
başlatma komut dosyasında kalıcı olarak depolanır .
- Sistem çapında başlatma komut dosyaları:
/etc/profile
giriş kabukları ve /etc/bashrc
etkileşimli kabuklar için.
- Kullanıcı başlangıç komut dosyalarını tanımlar:
~/.bash_profile
giriş kabukları ve ~/.bashrc
etkileşimli kabuklar için.
- İnteraktif / giriş mermileri hakkında daha fazla bilgiyi
man
İNOVOCATION bölümündeki bash sayfasında bulabilirsiniz.
Kullanıcı tanımlı kabuk işlevleri, bash başladığında bir karma (veya arama tablosu) içine dinamik olarak yüklenir. Bash kaynak dosyasından variable.c
tablonun tanımı:
/* The list of shell functions that the user has created, or that came from
the environment. */
HASH_TABLE *shell_functions = (HASH_TABLE *)NULL;
Kullanıcı tanımlı işlevler bash declare
komutuyla listelenebilir , diğer kabuklar hala kullanır typeset
. Bash declare
superceded etti typeset
komutu.
declare -f
Fonksiyonlar bash kabuğunun ömrü boyunca hafızada bulunur.
Kabuk tanımlı (yerleşik) işlevler
Bunlar gibi yaygın işlevleri vardır echo
, printf
, cd
ve :
. bash
Yürütülebilir dosyaya bağlı bir kitaplığa derlenirler . Tanımların yürütülebilir dosyaya oluşturulması, harici bir tanım yüklemeye kıyasla zaman kazandırır. Bu işlevlerin tanımları ( .def
C kaynağına ayrıştırılan kaynak dosyalarda tutulur) builtins
bash kaynağı dizininde tutulur .
Yararlı bir kenara: kabuk yerleşik komut kullanımı hakkında bilgi için help <command>
. Örneğin
help # list all builtins
help declare # info and options for declare
help -m declare # gives man style information for declare
cd is a shell builtin
. Kabuğunuz için adam sayfasına bir göz atın (zsh?)