Какова цель встроенной GNU Bash (двоеточие)? - PullRequest
301 голосов
/ 12 июля 2010

Какова цель команды, которая ничего не делает, будучи всего лишь лидером комментариев, но на самом деле является встроенной оболочкой сама по себе?

Это медленнее, чем вставка комментария в ваши сценарии примерно40% за звонок, что, вероятно, сильно варьируется в зависимости от размера комментария.Единственные возможные причины, которые я вижу для этого, следующие:

# 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

Я думаю, что я действительно ищу, так это то, какое историческое применение оно могло иметь.

Ответы [ 11 ]

3 голосов
/ 30 апреля 2016

Я видел это использование в скрипте и думал, что это хорошая замена для вызова базового имени в скрипте.

oldIFS=$IFS  
IFS=/  
for basetool in $0 ; do : ; done  
IFS=$oldIFS  

... это замена для кода: basetool=$(basename $0)

...