Войдите в консоль karaf через скрипт bash - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь войти в консоль karaf с помощью скрипта bash и выполнить несколько команд. Я пытаюсь сделать это следующим образом:

#!/bin/bash
cmd='sudo ssh -p 8101 openhab@localhost'
eval $cmd
cmd='echo "password" && echo log:clear && echo logout'
eval $cmd

Как вы можете подозревать, это не работает, и он зависает в «Пароль:», ожидая, пока пользователь наберет. Затем, когда я набираю пароль, открывается karaf, а когда я его закрываю, выполняется остальная часть скрипта. Есть ли способ ввести пароль автоматически и выполнять команды внутри?

1 Ответ

1 голос
/ 11 марта 2020

Вы должны попробовать apache клиент karaf. Смотрите пример ниже.

 echo "log:clear" | /opt/apache-karaf-4.2.8/bin/client

Вывод

    __ __                  ____      
   / //_/____ __________ _/ __/      
  / ,<  / __ `/ ___/ __ `/ /_        
 / /| |/ /_/ / /  / /_/ / __/        
/_/ |_|\__,_/_/   \__,_/_/         

Apache Караф (4.2.8)

Нажмите '' для просмотра списка доступных команд и '[cmd] --help' для помощи по заданной команде c. Нажмите «Система: выключение», чтобы выключить Караф. Нажмите '' или введите 'logout', чтобы отключить оболочку от текущего сеанса.

karaf@root ()> log: clear

karaf@root ()>

...