Bash-Skript: So führen Sie einen Befehl remote aus und beenden dann das Remote-Terminal

Bash-Skript: So führen Sie einen Befehl remote aus und beenden dann das Remote-Terminal

Ich versuche, den Befehl auszuführen:

ssh nvidia@ubuntu-ip-address "/opt/ads2/arm-linux64/bin/ads2 svcd &"

Dies funktioniert soweit, außer dass es bei der "/opt/ads2/arm-linux64/bin/ads2 svcd&"Ausführung im Remote-Terminal hängen bleibt, es sei denn, ich gebe Strg+C ein (siehe Abbildung unten).

Bildbeschreibung hier eingeben

Daher suche ich nach einem Befehl, der nach der Ausführung des "/opt/ads2/arm-linux64/bin/ads2 svcd &"Befehls das Remote-Terminal beendet und mit der Ausführung des lokalen Bash-Skripts fortfährt.

Unten ist das Bash-Skript, an dem ich arbeite

#!/usr/bin/env bash

echo "Welcome to ADS2 Session Start..."

while  true 
do
echo "Starting service Daemon on the targert"
echo "Enter the ip-address of the target"
read x
if [ -z "$x" ]
then 
    echo "ip-address is empty"
else
    echo "Connecting with target..."
    if [[ $x =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ || $x =~ ^fdt-c-agx-[0-9][0- 
      9][0-9][0-9]$ ]]
    then
        ssh nvidia@"$x"   "/opt/ads2/arm-linux64/bin/ads2 svcd &"; exit 0 
        if ! ssh nvidia@"$x"
        then
            echo -e "\033[31mconnection failed\e[0m" 
        else
            echo -e "\033[32m connection succeded\e[0m"
        
            break
        fi
    else
        "Make sure the io address in the coorect form"  
    fi

fi
done

verwandte Informationen