scriptA.sh
변수가 특정 값을 가정하면 scriptB.sh
무언가를 수행한 다음 a를 호출하는 scriptA.sh
다른 스크립트를 실행해야 하는 스크립트가 있습니다 scriptB.sh
.
나는 실행을 계획합니다.
ScriptA - ScriptB
|
|
_
|
_
|
|
_
|
_
이 방법으로 시도했지만 프로세스가 종료되지 않습니다.
ScriptA.sh
./scriptB.sh &
exit
ScriptB.sh
./scriptA.sh &
exit
똑같지만 프로세스가 닫히지 않습니다.
ScriptA.sh
./scriptB.sh && exit
ScriptB.sh
./scriptA.sh && exit
어떤 제안이 있으십니까?
실제 스크립트:
스크립트 A.sh:
#!/bin/bash
val=123
directory_path=`pwd`
script_name=$0
if [ $val -eq 123 ];then
echo "call B and exit"
./scriptB.sh $directory_path $script_name && exit 0
fi
스크립트 B.sh:
#!/bin/bash
directory_path=$1
exec_command=$2
cd
cd $directory_path
echo "call A and exit"
$exec_command && exit 0
답변1
고쳐 쓰다: 구조를 유지하려면 다음 두 파일을 만들 수 있습니다.
스크립트 파일
#!/bin/bash
./controller.sh a
스크립트 b.sh
#!/bin/bash
./controller.sh b
더 쉽게 할 수 있는 팁은 다음과 같습니다.
컨트롤러.sh
#!/bin/bash
# run ./controller.sh a to run a/b
# run ./controller.sh b to run b/a
if [ "$1" == "a" ]; then
./ascript.sh
./bscript.sh
elif [ "$1" == "b" ]; then
./bscript.sh
./ascript.sh
else
echo "choose a or b ./controller.sh [a|b]"
exit 255
fi
exit 0
ascript.sh
#!/bin/bash
echo "script a"
# add code here
스크립트 파일
#!/bin/bash
echo "script b"
# add code here