2013-10-25 2 views
0

Баш, есть (по крайней мере) четыре способа вывода переменных:Баш: Самый быстрый способ для вторя переменных

VAR=data 

    echo "VAR:" $VAR 
    echo "VAR:" ${VAR} 
    echo "VAR: $VAR" 
    echo "VAR: ${VAR}" 

Какой метод лучше всего (или лучшие практики)? Или какой метод может быть проанализирован/использован быстрее всего с помощью оболочки bash?

+1

Почему бы не посмотреть в [исходный код] (http://ftp.gnu.org/gnu/bash/)? – devnull

+2

@devnull: Потому что исходный код говорит вам «как», но ни «что», ни «почему». Вам нужно будет вывести его, а затем надеяться, что следующий выпуск не приведет к аннулированию ваших вычетов. – DevSolar

+3

Не беспокойтесь о производительности, но читайте в кавычках переменных: http://mywiki.wooledge.org/BashPitfalls – bos

ответ

1

Я не думаю, что есть большая разница в производительности, особенно по сравнению с накладными расходами на фактический ввод-вывод.

+0

Что касается лучшей практики, это мнение, и поэтому я добавляю его в качестве комментария вместо того, чтобы сделать его частью ответа. Я бы счел «VAR: $ {VAR}» 'лучшим вариантом, поскольку он точен в синтаксисе и намерении. (Рассмотрите, был ли следующий символ, который вы напечатали после '$ {VAR}', был символом подчеркивания: в этом случае вам понадобится * {} ', поэтому используйте привычку всегда использовать его.) – DevSolar

0
не рекомендуется

Ни один из них:

printf "VAR: %s\n" "$VAR" 

Как echo работы могут варьироваться в зависимости от оболочки к оболочке, в то время как printf немного более стандартизированы.

Смежные вопросы