条件VIA ssh的mkfs

我想在我的bash脚本中的远程机器VIA ssh上创build文件系统

disk=sdg 

下面一行是从我的bash脚本

  ssh $IP " [[ ` lsblk -f | grep $disk | awk '{print NF}' ` -eq 1 ]] && mkfs.ext4 -j -m 0 /dev/$disk -F " bash: -c: line 0: conditional binary operator expected bash: -c: line 0: syntax error near `1' bash: -c: line 0: ` [[ -eq 1 ]] && mkfs.ext4 -j -m 0 /dev/ -F ' 

而在磁盘上未创build文件系统的情况下,以下语法将返回1

 lsblk -f | grep $x | awk '{print NF}' 

所以我只是想执行威盛ssh的情况下,如果没有创build文件系统,那么我将执行mkfs

可能吗?

我想你在这里遇到一个shell扩展的问题。 我的猜测是子命令(在后面的tick)正在本地执行,而不是在远程系统上执行。

我build议在本地创buildbash脚本,将其复制到远程服务器,然后在那里执行它。