У меня есть machine A
и machine B
. Из моего local machine X
я хотел запустить bash-скрипт, который подключался бы к Machine A
, а затем к Machine B
, чтобы проверить версию пакета на Machine B
.
Сейчас у меня установлено два или более пакетов на Machine B
.
Проверка версии отдельного пакета:
sshpass -p 'Password' ssh admin@A.A.A.A -p 30025 "sshpass -p 'Password' ssh B.B.B.B "dpkg -s env.ns | grep -E 'Version|Package' | tr '\n' ',' |sed 's/,$/\n/'""
Результат:
Package: env.ns,Version: 51.0.0n
Проверка нескольких пакетов:
sshpass -p 'Password' ssh admin@A.A.A.A -p 30025 "sshpass -p 'Password' ssh B.B.B.B "dpkg -s env.ns | grep -E 'Version|Package' | tr '\n' ',' |sed 's/,$/\n/' && dpkg -s agent.ns | grep -E 'Version|Package' | tr '\n' ',' |sed 's/,$/\n/'""
Результат:
Package: env.ns,Version: 51.0.0n
-bash: dpkg: command not found
Я не могу получить версию пакета второй. Используя sshpass
, можем ли мы передать несколько команд для запуска на хост-компьютере?
Ожидаемый результат:
Package: env.ns,Version: 51.0.0
Package: agent.ns,Version: 51.0.0