我正在尝试在 shell 上编写一个脚本,但我被困在一个点上。
我有一个程序每天创建数据并将其放入如下目录:home/meee/data/2013/07/22/mydata
我的问题是我正在尝试使用日期更改目录。这是我的脚本:
#!/bin/sh
x=$(date -u -v-2H "+%Y-%m-%d")
echo $x
year=$(echo $x | cut -d"-" -f1)
month=$(echo $x | cut -d"-" -f2)
day=$(echo $x | cut -d"-" -f3)
echo $year
echo $month
echo $day
d1='/home/sensor/data/'${year}/${month}
echo $d1
没有相关的问题year, day, month
,他们正在工作。但是 的输出echo d1
是/07me/sensor/data/2013
。同样,当我写echo $year$day
它时2312 (characters of day is overwritten on the first two characater of the year)
我尝试了许多其他语法,例如代替'
字符放置"
或将其留空。删除{
等等。但什么都没有改变。
($var1 $var2)
不久,当我在同一行中编写两个变量时,第二个变量的$
行为就像转到行首并开始覆盖第一个变量。
我一直在寻找,但没有任何相关的东西,或者我找不到任何相关的东西,并且 Stackoverflow 中有很多解决方案可以解决问题$var1$var2
我做错了什么,或者我该如何解决。
我正在开发FreeBSD 9.0-RELEASE amd64并使用sh
任何帮助将不胜感激。
谢谢