Poniżej znajduje się mój kod skryptu:
sshpass -e ssh -o "StrictHostKeyChecking no" voltdb@$DB_SERVER_IP /bin/bash << EOF
cd voltdb/bin
echo "ReInitializing VoltDB, Wait for 5second"
./voltdb init --force
sleep 5s
echo "Starting VoltDB, Wait for 20second"
./voltdb start &
sleep 20s
echo "setUpVoltDB completed"
exit
EOF
echo "After EOF"
Tutaj ./voltdb start &
jest wykonywany jako proces w tle
Kiedy uruchamiam cały skrypt, wykonuje wszystkie polecenia w EOF
blokuj, ale nigdy nie sięgam do echo "After EOF"
Jeśli komentuję ./voltdb start & line
wtedy wszystko działa dobrze.
Proszę mi powiedzieć, jakie zmiany są wymagane, aby to naprawić.
linux
shell-script
ChetanSankhala
źródło
źródło