Я пытаюсь написать скрипт, который порождает несколько длительных команд как на удаленной, так и на локальной машине. В настоящее время пример моего решения будет:
#!/bin/bash
ssh -t user@1.2.3.4 tmux new -s remote -d "find / *"
tmux new -s local -d "find / *"
Однако, когда эти команды становятся более сложными (длинные цепочечные команды с кавычками в них вместо одной команды find
), становится неудобно помещать их в одну строку и избегать всех вложенных кавычек.
Я пытался использовать SSH с так называемым "здесь документ", например:
ssh -t user@1.2.3.4 << EOF
tmux new -s remote -d "find / *"
EOF
tmux new -s local -d "find / *"
Но это приводит либо к ошибке, а not a terminal
с опцией -T или -t для SSH, либо к очень странному поведению при использовании опции -tt.
Любые предложения, чтобы оптимизировать / кардинально изменить мой подход?