如何编写登录 Ubuntu 虚拟机的 bash 脚本?

如何编写登录 Ubuntu 虚拟机的 bash 脚本?

如何编写一个 bash 脚本

第一:登录Ubuntu虚拟机

第二:在虚拟机中打开终端并在其中传递命令?

有没有什么办法可以做到呢?

谢谢

答案1

我假设您已经打开了一个终端窗口,并且可以通过以下方式登录您的虚拟机远程控制

创建一个文件 ~/hello.sh,内容如下:

#!/bin/bash
mkdir ~/testdir
cd ~/testdir
echo "Hello" > hello.txt

接下来运行以下命令

ssh user@host < hello.sh

系统将要求您输入密码,然后脚本将运行。

如果您使用证书(推荐),请使用以下命令更改命令

ssh -i 路径插入用户@主机 < hello.sh

通过 ssh 登录并检查您拥有的内容

猫〜/ testdir / hello.txt

答案2

从你的问题来看,你似乎想通过 GUI 登录 Ubuntu,然后打开一个带有终端的窗口并在那里执行一些命令。不过我可能误解了你的问题。如果是这样的话,请告诉我。

这不是一种实用的方法,通常我们宁愿使用 ssh 通过物理计算机上的终端直接连接到虚拟机。这意味着您可以在虚拟机上执行命令,但输出将发送到物理计算机上的终端 - 它们不会显示在打开终端窗口的虚拟机 GUI 屏幕上。

为了使其正常工作,您必须知道您的 VM 的 IP 地址并在 VM 上安装 sshd(sudo apt-get install openssh-server),然后在您的物理计算机的终端上执行:

ssh [VM's ip address]

只需登录到其 shell,或者

ssh [VM's ip address] command

在虚拟机上执行 [command]。如果 [command] 是 shell 脚本,则需要是虚拟机上的 shell 脚本。您也可以直接执行命令,例如:

ssh 192.168.0.100 ls -la

相关内容