나는이 if파일을 계산하고 최신의 세 개의 파일을 제외하고 모두 삭제하는 문을. 그러나이 명령을 원격으로 실행하고 싶습니다. 조건 ssh과 어떻게 결합 할 수 if있습니까?
나는 이것을 시도했지만 성공하지 못했습니다.
#!/bin/bash
ssh -t test@192.168.94.139 "cd /var/www/test.com/backup ;
if [ $(ls | wc -l) -lt 3 ]
then
echo "Less"
else [ $(ls -t *.tgz|awk 'NR >3'|xargs rm -f) ]
echo "deleted"
fi"
내가 얻은 오류 :
ls : * .tgz에 액세스 할 수 없음 : 해당 파일 또는 디렉토리가 없습니다.
$( )명령 의 일부는 명령을 시작하기 전에 로컬 쉘에 의해 실행됩니다 ssh. 그 사실을 모두하는 경우 $( )가에 의해 둘러싸인 때 단독으로뿐만 아니라 의미 "의. 그러나 $( )내부에 있으면 '로컬 셸에서 실행되지 않습니다.