2013-10-25 51 views
0

在bash的最快方式,有(至少)四种方式输出变量:庆典:为呼应变量

VAR=data 

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

哪种方法最好(或最佳做法)?或者哪个方法可以被bash shell解析/执行得最快?

+1

为什么不看看[源代码](http://ftp.gnu.org/gnu/bash/)? – devnull

+2

@devnull:因为源代码告诉你“如何”,但既不是“什么”,也不是“为什么”。你必须推断它,然后希望下一个版本不会使你的扣除无效。 – DevSolar

+3

不要担心性能,但请阅读变量引用:http://mywiki.wooledge.org/BashPitfalls – bos

回答

1

我不认为有很大的性能差异,特别是当与实际I/O的开销相比时。

+0

至于最佳做法,这是意见,因此我将它添加为评论,而不是将其作为答案的一部分。我认为''VAR:$ {VAR}“'是最好的变体,因为它在语法和意图上是精确的。 (考虑在$ {VAR}后面打印的下一个字符是否是下划线:在这种情况下,您需要* {}},因此习惯使用它。) – DevSolar

0
他们

没有推荐:

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

如何echo作品可以从外壳有所不同外壳,而printf更规范一点。