2015-10-29 49 views
0

我有一个调用另一个shell脚本的shell脚本。其中一个参数是我想用时间戳前缀的输出文件名。到目前为止,我一直这样做:

#!/bin/bash -e 

bash resign "$(date +%Y%m%d)_UI_Touch_SU_test_$version.ipa" 

这工作正常。结果文件名是20151029_UI_Touch_SU_test_21.6.5212.ipa。但是,我想进一步自定义文件名并具有日期变量:

#!/bin/bash -e 

timestamp=$(date +%Y%m%d) 
bash resign "$timestamp_UI_Touch_SU_test_$version.ipa" 

这不起作用。结果文件名是21.6.5212.ipa。如何正确设置日期变量?

回答

5

尝试

bash resign "${timestamp}_UI_Touch_SU_test_${version}.ipa" 

您需要{}从字符串的其余部分分隔变量。

编辑:请注意,$version.ipa也可以在没有花括号的情况下工作,因为点号.不是bash中的有效变量字符(相反,下划线_是)。不过,我认为在那里使用大括号也是一种很好的做法。

+1

我试着添加一个解释,请检查它是否足够。 –

相关问题