- Bash 4.1.17(与Cygwin一起运行)
您好,我正在尝试将日期传递给move(mv)命令中的--suffix选项。我能够传入一个简单的字符串(比如我的名字),但无法传递日期。如果您运行下面的脚本,您将看到带有后缀=" $ var"的mv命令但是后缀=" $ now"没有。
#!/bin/bash
dir="your directory goes here"
now="$(date "+%m/%d/%y")"
var="_CARL!!!"
echo "$now"
echo "$var"
cd "$dir"
touch test.txt
# error if already exists
mkdir ./stack_question
touch ./stack_question/test.txt
mv -b --suffix="$var" test.txt ./stack_question/
这个想法是,如果test.txt在尝试移动文件时已经存在,那么该文件将附加一个后缀。因此,如果您使用以下命令运行此脚本:
--suffix="$var"
您将看到 stack_question 目录包含两个文件:
test.txt& test.txt_CARL !!!
但是,如果您使用以下命令运行此脚本
--suffix="$now"
你会看到 stack_question 目录中只包含:
的test.txt
对此的任何帮助将不胜感激!
答案 0 :(得分:0)
这是因为您在日期格式中嵌入了/
尝试
now="$(date +%m_%d_%y)"