Saya tahu apa itu perintah builtin, tapi apa fungsinya builtin
sendiri? Eksekusi which ls
menunjukkan kepada saya /bin/ls
, tetapi mengeksekusi which builtin
tidak menghasilkan apa-apa.
man builtin
hanya memberi saya daftar perintah builtin, salah satunya adalah builtin
. Halaman manual lainnya menjelaskan apa itu builtin, tetapi bukan apa builtin
itu.
builtin --help
memberitahu saya builtin: usage: builtin [shell-builtin [arg ...]]
tetapi masih tidak apa fungsinya.
Apakah ini bagian dari bash dengan cara yang tidak dimiliki perintah builtin lain?
help builtin
.which builtin
tidak mengembalikan hasil, karenawhich
melaporkan lokasi perintah eksternal . Jika Anda bertanya pada shelltype builtin
, itu akan memberi tahu Anda, tidak mengejutkan, itubuiltin is a shell builtin
. Anda akan menemukan hal yang sama denganalias
,set
, dllbuiltin help builtin
Jawaban:
The
builtin
merek perintah yakin Anda menjalankan shell built-in versi perintah daripada menjalankan perintah lain dengan nama yang sama.Sebagai contoh, katakanlah Anda mendefinisikan fungsi shell bernama
cd
untuk mencetak beberapa status tambahan setiap kali Anda mengubah direktori. Tetapi Anda mengacaukannya dan sekarang Anda tidak dapat mengubah direktori dengan benar. Jadi sekarang Anda dapat mengetikbuiltin cd ~
agar berhasil cd kembali ke direktori home Anda tanpa menjalankan fungsi shell Anda yang rusak.Dan omong-omong, salinan halaman bash man saya memiliki bagian yang disebut "SHELL BUILTIN PERINTAH", dan itu mendefinisikan arti
builtin
perintah di bagian itu (ditranskripkan di bawah).sumber
builtin
perintah itu adalah builtin asli dari bash?builtin
, juga:function builtin { echo "Hi from builtin :-)"; }
. Makabuiltin
tidak lagi berfungsi.type builtin
akan memberi tahu Anda apakah itu aslibuiltin
. Kecualitype
telah diganti dengan non-builtintype
...