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
修正する: 構造を維持するには、次の2つのファイルを作成できます。
スクリプトファイル
#!/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