Проблемы с использованием параметра pssh -I в сценарии bash

Я пытаюсь использовать параметр -I pssh (параллельный ssh) в сценарии bash, и у меня возникают трудности. Эта опция должна позволить вам выполнить скрипт на вашем локальном компьютере на удаленном компьютере. Я попытался сделать очень простой для тестирования, но не могу понять проблему. Я нашел эту ветку, но вместо этого pssh запускался из командной строки, эта часть работает.

Во-первых, у меня есть 3 разных скрипта

test — помещается в каталог /tmp удаленного сервера. это не bash, просто обычный текст, используемый для оболочки программы

testa — вызывает команду, использующую test.

test3 — использует pscp для отправки теста в /tmp и pssh для запуска testa.sh в удаленной системе.

test3 содержит следующее:

      #!/bin/bash
set -x
send="pscp.pssh -H 10.1.1.1 -l user /home/user/test /tmp/"
axe="pssh -H 10.1.1.1 -l user -I<./testa -x -tt"
${send}
${axe}
set +x

Вот ошибка, которую я получаю:

      + pssh -H 10.1.1.1 -l user '-I<./testa' -x -tt
Usage: pssh [OPTIONS] command [...]

pssh: error: no such option: -<
+ set +x

Часть pscp работает нормально, и я только что отправлял тест и testa с помощью pscp и выполнял testa на удаленном сервере в качестве обходного пути, но я бы не стал отправлять его. Судя по отладке, вокруг -I по какой-то причине добавляются одинарные кавычки. Я пробовал использовать -I<(./testa.sh) и все равно то же самое, хотя я могу без проблем запустить ту же команду из командной строки. Это кстати на Centos 7, pssh версии 2.3.1 и bash 4.2.46

0 ответов

Другие вопросы по тегам