SSH를 사용하여 다음과 같은 bash 스크립트에서 호스트의 명령을 실행하고 있습니다.
ssh pi@rasp 'rm /home/pi/webcam/rmtest.txt' || \
{ echo "remove failed" > $log; }
호스트에 오류가 없으면 예상대로 작동합니다. 이 경우 클라이언트로 리디렉션됩니다.
rm: cannot remove ‘/home/pi/webcam/rmtest.txt’: No such file or directory
해당 오류 메시지를 클라이언트의 파일로 리디렉션하고 싶지만 방법을 모르겠습니다.
나는 배치를 시도했다 :
>$로그 2>&1
다른 곳에서는 작동하지만 아무것도 작동하지 않습니다.
변수 $log:
pi@raspsky:~/webcam $ echo $log
/home/pi/webcam/condtest.log
답변1
ssh pi@rasp 'rm /home/pi/webcam/rmtest.txt' 2> $log
ssh는 원격 stdin, stdout 및 stderr 설명자를 로컬 설명자에 연결하므로 필요에 따라 로컬 stderr를 리디렉션하기만 하면 됩니다.