Verwenden Sie heredoc
, um mehrzeilige Befehle auf einem Remote-Computer auszuführen. Der Versuch, pid von einem Server zu erhalten, die Server zu töten in der entfernten Maschine befindetFühren Sie ssh aus und führen Sie den Befehl aus
#!/bin/bash
HOST_IP="10.180.5.23"
read -p "For HOST RESTART press 1" num
if [ "$num" == "1" ]
then
ssh -t -t $HOST_IP << 'EOSSH'
line=$(pgrep -f host_server1)
echo $line
arr=($line)
sudo kill -9 "${arr[1]}"
EOSSH
fi
Fehler: töten: (15015) - Betrieb nicht
erlaubt
Den Wert einem Array zuweisen und dann das erste Element des Arrays holen ist eine völlig nutzlose Ablenkung. Töte einfach $ line "'. Sie [sollte wahrscheinlich nicht 'kill -9'] (http://www.iki.fi/era/unix/award.html#kill) verwenden. – tripleee