Как запустить список приведенных ниже команд linux в одном файле? - PullRequest
0 голосов
/ 01 апреля 2019

Мне нужно, чтобы нижеприведенные команды одна за другой каждый раз вручную, как поместить все эти команды ниже в один снимок:

  1. подключение к серверу [потребностьдля ввода пароля, номера порта, IP-адреса и т. д.]
  2. Войдите в систему, указав имя пользователя. (просто имя пользователя)
  3. Ввод пароля для указанного пользователя. (просто пароль)
  4. Теперь входите с этого сервера на другой сервер. (ssh username @ IP)
  5. Ввод имени пользователя и пароля для нового сервера. (только имя пользователя и пароль)
  6. Выполнение команды для подключения кMySQL на текущем сервере.( mysql -u username -p --socket = / data / mysql / mysql.sock)
  7. Ввод пароля mysql. (просто пароль)

1 Ответ

0 голосов
/ 01 апреля 2019

Вы должны быть в состоянии сделать это следующим образом:

ssh -t -t -Lport:localhost:port login@server1 'ssh -Lport:localhost:port login@server2 mysql -u username -p --socket=/data/mysql/mysql.sock'

С man ssh:

 -t      Force pseudo-terminal allocation.  This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services.  Multiple -t
         options force tty allocation, even if ssh has no local tty.
...