シェル変数の定義

シェル変数の定義

2つのシェルスクリプト間で変数を定義する際に問題があります。基本的に私たちがやろうとしていることは、実行し、./get_variables.sh「ドメイン入力:」と「westacpパスワード入力:」の詳細を入力してから、詳細を変数にインポートすることです。vestacp.sh

get_variables.shコンテンツ

#!/bin/sh
echo "Enter the domain: "
read $domain
echo "Enter the vestacp password:"
read $rvp


/root/vestacp.sh $domain $rvp

そして

vestacp.shコンテンツ

sed -i s/VAR1/$domain/g config.php
sed -i s/VAR2/$rvp/g config.php

config.php文書内容

VAR1
VAR2

VAR1とVAR2は、Vestacp.shでsedを使用して./get_variables.shを実行したときに入力したデータに置き換える必要があります。

config.php実行後に空の問題が発生します。./get_variables.sh

ベストアンサー1

2 つのエラーが表示されます。

  • read variableあってはいけない$
  • 変数は名前として渡されません。 2番目のスクリプトは、最初のスクリプトから呼び出された名前で変数を読み取ろうとします。最初のスクリプトで何が呼び出されたのかわかりません。

また、問題を分析します。誰でも大きなプログラムを作成、実行、操作することは不可能です。この場合は、各スクリプトを個別にテストしてください。その後、自分で作業を始め、一緒に作業するようにしてください。

shellcheckを使用してスクリプトをテストすることもできます。いくつかのエラーが見つかります。まだテストが必要です。sudo apt-get install shellcheckDebianにインストールしてください。

おすすめ記事