変数入力を読み、テンプレートファイルを変数値に置き換えます。

変数入力を読み、テンプレートファイルを変数値に置き換えます。

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
...

シェルに交換を実行させてください。

関連情報