我有一条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:没有此类文件或目录
$(
)
命令的一部分由本地Shell执行,甚至没有启动ssh
命令。无论是$(
)
单独放置还是被"
s 包围都是如此。但是,如果$(
)
在'
s 内部,则不会由本地shell执行。