Ваша основная проблема заключается в том, что вы предполагаете, что [
— это такие же круглые скобки, и что вы можете их вкладывать друг в друга. Это неправда. Выражение [... ]
совпадает с test...
.
Утилита test
имеет возможность комбинировать множественный тест с -a
для and
и с -o
для or
. Подробнее см. в руководстве.
Таким образом, вы можете выписать свой чек как test -d 1 -a d 4 -a -d 8
или [ -d 1 -a d 4 -a -d 8 ]
Это не проблема ssh. Почитайте строки оболочки -. Как стандарт -out может передаваться стандарту -2-го процесса на вход. см.https://www.youtube.com/watch?v=bKzonnwoR2Iдля введения.
Считайте ssh remote-machine remote-command
эквивалентным local-command
. например. ssh remote-machine ls
получает список каталогов на удаленном компьютере. ls | less
помещает список каталогов через пейджер. Итак, ssh remote-machine ls | less
поместит список удаленных каталогов через пейджер.