Назад | Перейти на главную страницу

mkfs с условием VIA ssh

Я хочу создать файловую систему на удаленных машинах VIA ssh в моем сценарии bash

 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 '

а следующий синтаксис вернет 1 в случае, если файловая система не создана на диске

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

поэтому я просто хочу выполнить случай VIA ssh, если файловая система не создана, тогда я выполню mkfs

Является ли это возможным?

Я думаю, вы здесь столкнулись с проблемой расширения оболочки. Я предполагаю, что подкоманда (в обратных тиках) выполняется локально, а не в удаленной системе.

Я предлагаю создать сценарий bash локально, скопировать его на удаленный сервер, а затем выполнить там.