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.