gpt4 book ai didi

bash - GNU Coreutil Date(在 CLI 中输出数字,但不在 bash 脚本中)

转载 作者:行者123 更新时间:2023-12-04 18:59:01 25 4
gpt4 key购买 nike

每当我在 bash CLI 中运行命令时,我都会得到正确的输出

date +%Y%-m%d%j%M%S
202111063103528
但是,当我在 bash 脚本中运行它时,我没有得到一个可以在以后的变量中使用的简单数字。我最终想用它来备份我生成的旧 CSV 文件。例如
#Doesn't print out correct date
DATE='date +%Y%-m%d%j%M%S'
echo $DATE

# Ultimately, wanting to feed that $DATE string here
if [ -f "$CSV_OUTFILE" ]; then
echo "CSV file already exists. Renaming $CSV_OUTFILE to $CSV_OUTFILE.$DATE"
mv $CSV_OUTFILE $CSV_OUTFILE.$DATE
exit 1
fi

关于我做错了什么有什么建议吗?

最佳答案

您分配了字符串 date +%Y%-m%d%j%M%S$DATE .它包含一个空格,所以使用 $DATEmv没有双引号将其扩展为两个单词。
使用反引号而不是引号来捕获命令的输出:

DATE=`date +%Y%-m%d%j%M%S`
或者,更好的是使用 $(...)语法(更好,因为它可以嵌套):
DATE=$(date +%Y%-m%d%j%M%S)

关于bash - GNU Coreutil Date(在 CLI 中输出数字,但不在 bash 脚本中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69868472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com