【问题标题】:Bash pass date variable as stringBash 将日期变量作为字符串传递
【发布时间】:2020-01-28 13:08:02
【问题描述】:

我有一个脚本,当这样运行时会创建另一个脚本:

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

我已尝试以各种可能的方式转义变量,但似乎没有任何效果。有什么想法吗?

【问题讨论】:

  • @Cyrus 我已经更新了问题以包含完整的内容。坦克的抬头!

标签: bash date variables scripting command-substitution


【解决方案1】:

我建议使用:

DATE=\$(date +%d-%m-%Y-%H-%M)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    相关资源
    最近更新 更多