如何使用具有多个变量的 Bash 脚本将日期附加到文件?

如何使用具有多个变量的 Bash 脚本将日期附加到文件?

我的脚本如下,我不记得如何理解它。

#!/bin/bash
input=$1
output=$2
cp $input $output_$(date +%m%d%y)

目标是按如下方式运行脚本

/path/script.sh /path/file_name /path/archive/

存档文件将是 /path/archive/file_name_090718

答案1

${output}{}方括号中允许连接下划线和日期。或者你可以只使用cp $1 $2_$(date +%m%d%y).

脚本文件

#!/bin/bash
input=$1
output=$2
cp ${input} ${output}_$(date +%m%d%y)

用法:

$ ls
file_name script.sh
$./script.sh file_name archive
$ ls
archive_090718 file_name script.sh

答案2

答案是大括号!

我就是这样做的;这不是给猫剥皮最漂亮的方式......

#!/bin/bash
input=$1
output=$2
cp $input ${output}_$(date +%m%d%y)
$ ./script /usr/tmp/file_name /usr/tmp/arch/file_name
$ ls -l /usr/tmp/arch
-rw-rw-r-- 1 xxxxxx yyyyyyy 5 Sep  7 12:06 file_name_090718

相关内容