내 스크립트는 다음과 같으며 이를 이해하는 방법을 기억할 수 없습니다.
#!/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