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 shellcheck
Debianにインストールしてください。