timestamp = $(date +%Y%m%d)未在shell脚本

时间:2015-10-29 08:27:45

标签: bash shell

我有一个调用另一个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。如何正确设置日期变量?

1 个答案:

答案 0 :(得分:5)

尝试

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

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

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