Bash 将日期变量作为字符串传递
Bash pass date variable as string
我有一个脚本,它在 运行 时创建另一个脚本,如下所示:
cat > "$installpath""tweets.sh" << ENDOFFILE
#!/bin/bash
source "$installpath"config.sh
cd $webdir
/usr/local/bin/twint -s "$search" --limit $scrapelimit -o $csvname --csv --database $dbfile -ho
FILE=$csvname
NAME=${FILE%.*}
EXT=${FILE#*.}
DATE=`\date +%d-%m-%Y-%H-%M`
NEWFILE=${NAME}_${DATE}.${EXT}
echo $NEWFILE
mv $csvname $NEWFILE
export NEWFILE
export DATE
ENDOFFILE
但是,脚本会解释
DATE=`\date +%d-%m-%Y-%H-%M`
并将其更改为
DATE=28-09-2019-15-49
我试过以各种可能的方式转义变量,但似乎没有任何效果。有什么想法吗?
我建议使用:
DATE=$(date +%d-%m-%Y-%H-%M)
我有一个脚本,它在 运行 时创建另一个脚本,如下所示:
cat > "$installpath""tweets.sh" << ENDOFFILE
#!/bin/bash
source "$installpath"config.sh
cd $webdir
/usr/local/bin/twint -s "$search" --limit $scrapelimit -o $csvname --csv --database $dbfile -ho
FILE=$csvname
NAME=${FILE%.*}
EXT=${FILE#*.}
DATE=`\date +%d-%m-%Y-%H-%M`
NEWFILE=${NAME}_${DATE}.${EXT}
echo $NEWFILE
mv $csvname $NEWFILE
export NEWFILE
export DATE
ENDOFFILE
但是,脚本会解释
DATE=`\date +%d-%m-%Y-%H-%M`
并将其更改为
DATE=28-09-2019-15-49
我试过以各种可能的方式转义变量,但似乎没有任何效果。有什么想法吗?
我建议使用:
DATE=$(date +%d-%m-%Y-%H-%M)