把这些写在一个sh脚本里运行
时间: 2024-04-10 20:26:59 浏览: 20
当然可以!你可以将上述代码保存到一个.sh文件中,然后运行该脚本来执行多个主机上的代码。以下是一个示例:
```bash
#!/bin/bash
# 定义要执行的命令或脚本
command_to_run="your_command_or_script.sh"
# 定义要连接的主机列表
hosts=("host1" "host2" "host3")
# 循环遍历主机列表,并在每个主机上执行命令
for host in "${hosts[@]}"; do
ssh user@$host "$command_to_run" &
done
# 等待所有后台任务完成
wait
```
将上述代码保存到一个.sh文件(例如run_on_multiple_hosts.sh),然后在终端中运行以下命令来执行脚本:
```bash
bash run_on_multiple_hosts.sh
```
确保将"your_command_or_script.sh"替换为你要在每个主机上运行的实际命令或脚本。将"host1"、"host2"和"host3"替换为你要连接的实际主机列表。
运行该脚本后,它将在多个主机上同时执行相同的代码。请注意,你需要确保在运行脚本之前已经设置好了ssh连接,并且能够通过ssh访问到目标主机。
相关问题
如何在crontab 中运行一个sh脚本
要在 crontab 中运行一个 sh 脚本,可以按照以下步骤进行操作:
1. 编写需要运行的 sh 脚本,例如 `test.sh`,并保存在指定目录下(例如 `/home/user` 目录下)。
2. 打开终端,输入以下命令打开 crontab 编辑器:
```
crontab -e
```
3. 在编辑器中添加一个新的 cron 任务。具体格式如下:
```
* * * * * /bin/sh /home/user/test.sh
```
上述命令中,`* * * * *` 表示 cron 表达式,表示每分钟都执行该任务;`/bin/sh` 表示使用 sh 解释器解释脚本;`/home/user/test.sh` 表示需要执行的脚本路径。
4. 保存并退出编辑器。
至此,已经成功将 sh 脚本添加到 crontab 中,cron 会按照设定的时间表定期执行该脚本。
在一个shell脚本里运行另一个shell脚本
在一个 shell 脚本里运行另一个 shell 脚本,可以使用 `source` 或 `.` 命令。这两个命令都可以执行指定的脚本文件,并将其内容作为当前 shell 进程的一部分来执行。
例如,假设你想运行名为 `script2.sh` 的 shell 脚本,可以使用以下代码在另一个 shell 脚本中运行它:
```bash
source script2.sh
```
或者
```bash
. script2.sh
```
其中,`source` 或 `.` 命令后面跟着要执行的脚本文件名。这将使 `script2.sh` 的内容作为当前 shell 进程的一部分来执行。注意,使用 `source` 或 `.` 命令执行脚本时,不需要在脚本文件名前加上可执行权限,因为它们不是通过子进程来运行脚本的。