![여러 변수가 있는 Bash 스크립트를 사용하여 파일에 날짜를 추가하는 방법은 무엇입니까?](https://linux55.com/image/139782/%EC%97%AC%EB%9F%AC%20%EB%B3%80%EC%88%98%EA%B0%80%20%EC%9E%88%EB%8A%94%20Bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EB%82%A0%EC%A7%9C%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 스크립트는 다음과 같으며 이를 이해하는 방법을 기억할 수 없습니다.
#!/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