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
...
シェルに交換を実行させてください。