변수 입력을 읽고 템플릿 파일을 변수 값으로 바꿉니다.

변수 입력을 읽고 템플릿 파일을 변수 값으로 바꿉니다.

Linux 쉘 스크립트에서 일부 변수 값의 입력을 읽고 있습니다. 이러한 변수 값을 기반으로 입력을 사용하여 템플릿 파일을 변경해야 합니다.

예를 들어.

내용이 포함된 hello.txt 파일이 있습니다.

--- 템플릿 파일 hello.txt ---

Hello V_NAME
  Welcome V_NAME to the team.
Thanks

쉘 스크립트에서 V_NAME 변수를 읽었습니다.남자

#!/bin/sh
....
....
read -p "Enter Candidates Name : "  V_NAME
....
exit

그러면 V_NAME을 기반으로 hello.txt는 이제 다음과 같아야 합니다.....

--- 템플릿 파일 hello.txt ---

Hello **John** ,
  Welcome **John** to the team.
Thanks

당신의 도움을 주셔서 감사합니다.

감사합니다 - 나비드 -

답변1

이 예는 양식 편지로 나타나므로 처리할 특이한 문자가 없을 것으로 예상됩니다. 명령은 sed좋을 것입니다.

#!/bin/bash
...
read -p "Enter Candidates Name : "  V_NAME
read -p "Enter Candidates start date : "  V_STARTDATE
sed "s=V_NAME=$V_NAME=g;s=V_STARTDATE=$V_STARTDATE=g" ../template/hello > hello.$V_NAME
...

후보자의 이름이나 시작 날짜에 기호가 포함되어 있으면 이 작업이 중단됩니다 =. 이는 템플릿이 다른 디렉터리에 있다고 가정합니다.

또 다른 방법은 문서를 사용 here하고 템플릿을 스크립트에 포함시키는 것 입니다.

#!/bin/bash
...
read -p "Enter Candidates Name : "  V_NAME
read -p "Enter Candidates start date : "  V_STARTDATE
cat > hello.$V_NAME <<EOF
Hello $V_NAME
  Welcome $V_NAME to the team. I see you will be starting on $V_STARTDATE.
Thanks
EOF
...

쉘이 교체를 수행하도록 하십시오.

관련 정보