複数の変数を持つ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

関連情報