SSHリモート - ローカル端末にエコーを表示

SSHリモート - ローカル端末にエコーを表示

echo以下は、SSHの条件が失敗した場合にローカル端末にいくつかのテキストを送信したいスクリプトの一部です。

/usr/bin/sshpass -p $PASSWORD /usr/bin/ssh -t  -o "StrictHostKeyChecking no" root@$IP -p $PORT '
    cd $PATH;
    [ ! -d temp ] && mkdir temp;
    for new_file in '${NEW_FILE[@]}'
    do
        [  -f $new_file ] && mv -f $new_file temp/$new_file-'$DATE'
        DOWNLOAD=$(wget --no-check-certificate '$URL'/$new_file > /dev/null 2>&1)
        if [ '$?' -ne '0' ]; then
            mv temp/$new_file-'$DATE' '$PATH'/$new_file
            echo "$new_file download failed! please check and re-run the script"
        else
            chmod +x $new_file
        fi
    done;'

echo残りの機能はうまく機能しています。

これがローカル端末echoで機能するかどうかを教えてください。ssh

答え1

単一のコマンドとその出力を選択的に表示するには、次のようなものを使用できます。

sh -vc 'echo \"Some text\"'

入れ子になった参照はすぐに神経を動かすことができます。

答え2

ssh -t

マニュアルページから:

     -t      Force pseudo-terminal allocation.  This can be used to execute 
arbitrary screen-based programs on a remote machine, which can be very useful, e.g. 
when implementing menu services.  Multiple -t options force tty allocation, even if
ssh has no local tty.

関連情報