두 셸 스크립트 사이에 변수를 정의하는 데 문제가 있습니다. 기본적으로 우리가 하려는 작업은 실행 ./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
데비안에 설치하세요.