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 YOLUNDAtrue
fonksiyonu 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.
Bir JavaScript baÅŸka bir JavaScript do...
Bash bir komut hangi dizin olduÄŸunu...
Ne kadar düzenli bir dosya bash yoksa ...
Nasıl Bash dize değişkenleri bitiştirm...
Bash dosya adı ve uzantısı ayıklamak...