以下は、条件がsshで失敗した場合に、ローカル端末にテキストをecho
したいスクリプトの一部です。
/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
することは可能かどうか教えてください。
個々のコマンドとその出力を選択的に表示するには、次のようなものを使用できます。
sh -vc 'echo \"Some text\"'
ネストされた引用はすぐに神経質になり始める可能性がありますが。
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.