如何 运行 来自不同目录的多个 .sh 文件

How to run multiple .sh files from different directories

SO 我有一个 BSD 服务器,想托管一个 Minecraft BungeeCoord 服务器。问题是服务器文件位于不同的目录中 EG: /home/name/bungee/servers/生存/start.sh AND /home/name/bungee/servers/大厅/start.sh

有没有办法让一个文件可以 运行 来自不同目录的多个文件 ?

澄清一下,我之所以要这样做是因为BSD服务器一次只能获取1个文件,比如shell/terminal。

编辑:我最终使用的命令是 screen

有点按最低到最高排序

示例 1

sh /home/name/bungee/servers/Survival/start.sh &
sh /home/name/bungee/servers/Lobby/start.sh &

& 将进程作为后台作业运行,释放终端 (STDIN),但不是 STDOUTSTDERR 流,这意味着输出仍会进入终端

使用 ksh(1)jobs(1) 命令(OpenBSD 默认 shell)来查看你的 shell 以后可以控制的那些工作

示例 2

cd 路径变短后

  cd /home/name/bungee/servers
  sh ./Survival/start.sh &
  sh ./Lobby/start.sh &

您也可以使用 shell 的重定向功能将两个输出重定向到文件而不是屏幕,例如 > output.log 2>&1

示例 3

使用多个(虚拟)终端? (ctrl+alt+f1ctrl+alt+f2) 分别登录,然后按 tty(4)

启动脚本

示例 4

使用编程语言库,例如 IPC::Cmd to fork processes with run_forked 函数