如何在单个文件中运行以下给定的Linux命令列表?

时间:2019-04-01 05:56:58

标签: linux ubuntu command-line command

我每次都需要一个接一个地手动执行以下命令,如何将以下所有这些命令放在一起:

  
      
  1. 连接到服务器 [需要提供密码,端口号,ip等。]
  2.   
  3. 通过提供用户名登录。(仅用户名)
  4.   
  5. 输入上述用户的密码。(仅密码)
  6.   
  7. 现在从该服务器登录到另一台服务器。 (ssh用户名@IP)
  8.   
  9. 输入新服务器的用户名和密码。(仅用户名和密码)
  10.   
  11. 执行命令以连接到当前服务器中的mysql。 ( mysql -u用户名-p --socket = / data / mysql / mysql.sock)
  12.   
  13. 输入mysql密码。(仅密码)
  14.   

1 个答案:

答案 0 :(得分:-1)

您应该能够执行以下操作:

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.