我们在两个 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 上安装。