我有一条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执行。