如何编写一个 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