2009-07-22 390 views
4

下面的bash代码段究竟做了什么? $ {2: - $ {1}}

回答

10

“使用第二个参数,但如果没有,那么第一个参数”。

5

${var:-default}评估为的$var值,除非$var没有设置的$ {2}的值在这种情况下的计算结果为文本"default"$1,$2等是你程序(或函数)的命令行参数。将两者放在一起意味着如果传递了两个参数则返回$2,否则返回$1

1

它的意思是“使用第二个参数,如果第一个是未定义的为空,否则使用第一个”。形式“$ {2 - $ {1}}”(no':')的意思是“如果第一个没有定义,则使用第二个(但如果第一个被定义为空的,则使用它)”。