Ne amacı vardır : (kolon) GNU Bash yerleşik?
Hiçbir şey, yorum bir lider daha yapıyor, ama aslında kendi başına bir kabuk yerleşik bir komut amacı nedir?
Muhtemelen büyük ölçüde yorum büyüklüğüne bağlı olarak değişir arayın, @ hakkında sizin komut dosyalarına açıklama ekleme daha yavaş. Bunun için mümkün olan tek sebep bu
# poor man's delay function
for ((x=0;x<100000; x)) ; do : ; done
# inserting comments into string of commands
command ; command ; : we need a comment in here for some reason ; command
# an alias for `true' (lazy programming)
while : ; do command ; done
Gerçekten aradığım şey olmuş sanırım.
CEVAP
Tarihsel olarakKabukları yerleşik komutlar olarak true false yoktu Bourne. true sadece let 0 gibi bir ** 8, false takma ad yerine.
: Bourne türetilmiş eski kabukları taşınabilirlik için true biraz daha iyi. Basit bir örnek olarak, ne ! boru hattı operatörü ne || liste operatör bazı eski Bourne kabukları olduğu gibi) sahip düşünün. Bu dallanma için tek yolu olarak, if deyim else yan çıkış durumuna göre yapraklar:
if command; then :; else ...; fi
if boş olmayan gerektirdiğinden then maddesi ve Yorum yok-op olarak boş olmayan, : hizmet sayılmaz.
Günümüzde(yani: modern bir bağlam) genellikle : true da kullanabilirsiniz. Hem POSIX tarafından belirtilen ve okumak true daha kolay bulabilirsiniz. İlginç bir fark var ancak: : sözde POSIXözel olarak inşa edilmiş, true bir isedüzenli yerleşik.
Özel built-ins kabuğu; Normal built-ins sadece "genellikle", ama kesinlikle garanti değil. yerleşik yerleşik olması gerekmektedir Genellikle düzenli bir program
:adında bir çok sistem YOLUNDAtruefonksiyonu ile olmamalı.Muhtemelen en önemli fark, bu özel inşa edilmiş-ins, herhangi bir değişken kümesi tarafından dahili hatta çevre boyunca basit komut değerlendirme - devam sonra komutu tamamlar gibi gösterdi burada kullanarak ksh93:
$ unset x; ( x=hi :; echo "$x" ) hi $ ( x=hi true; echo "$x" ) $GNU POSIX uyumluluk modu, ama "POSIX sh" kabukları bu çizgi, ksh93, dahil ve mksh. gözlem türetilmiş tüm diğer ana faaliyet dışında Bash, Zsh gibi bu şartı gözardı edilir,
BaÅŸka bir fark built-ins normal
exec- burada Bash kullanarak gösterilen ile uyumlu olmalıdır$ ( exec : ) -bash: exec: :: not found $ ( exec true ) $POSIX da
:Bu dersin uygulamaya özgü bir ayrıntı olsa daha hızlıtrue, dan açıkça belirtiyor.

Zaman aşımı gereksiz gecikme olmadan b...
Varlık Çerçevesi Özellikleri Birden ço...
Javascript bir Rails uygulamasında Eti...
Benimki tam ve onların tam komutları a...
Nasıl bir BASH değişken bir komut çıkt...