定义 shell 变量

定义 shell 变量

我们在两个 shell 脚本之间定义变量时遇到问题,基本上我们想要做的是 run ./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

我看到两个错误:

  • read variable不应该有$
  • 变量不按名称传递。第二个脚本尝试按第一个脚本中调用的名称读取变量。它不知道它在第一个脚本中被称为什么。

还要分解你的问题。任何人都不可能编写一个大程序,然后运行它,并且它可以工作。在这种情况下,单独测试每个脚本。然后自己开始工作,然后让他们一起工作。

还可以使用 shellcheck 来测试脚本。它会发现一些错误。您仍然需要对其进行测试。sudo apt-get install shellcheck在 Debian 上安装。

相关内容