- 我想为一个日期值分配一个var - 但是我无法弄清楚如何获取(Busybox?)shell不能为我想要的格式返回0。
let hourfiletag="$(date +%j%H)"
echo $hourfiletag
let tagtwo="D$hourfiletag"
echo $tagtwo
let tagthree="D${hourfiletag}H"
echo $tagthree
let hourfiletag="$(date +D%jH%H)"
echo $hourfiletag
let tagtwo="D$hourfiletag"
echo $tagtwo
let tagthree="D${hourfiletag}H"
echo $tagthree
当我运行它时,这是我得到的输出:
$ ./date1.sh
34011
0
0
0
0
0
date命令可以产生我想要的东西:
$ date +D%jH%H
D340H11
但我无法将其变为可在文件cp操作中使用的变量。谢谢。
答案 0 :(得分:2)
let
用于评估算术表达式
你可以使用:
hourfiletag=`date '+D%jH%H'`
OR:
hourfiletag=$(date '+D%jH%H')
echo "$hourfiletag"
D340H12
答案 1 :(得分:0)
根本不需要let
:
$ cat a
hourfiletag="$(date +%j%H)"
echo $hourfiletag
tagtwo="D$hourfiletag"
echo $tagtwo
tagthree="D${hourfiletag}H"
echo $tagthree
hourfiletag="$(date +D%jH%H)"
echo $hourfiletag
tagtwo="D$hourfiletag"
echo $tagtwo
tagthree="D${hourfiletag}H"
echo $tagthree
输出:
shell@android:/ $ sh /storage/sdcard0/a
34018
D34018
D34018H
D340H18
DD340H18
DD340H18H