微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从不同目录运行多个 .sh 文件 示例 1示例 2示例 3示例 4

如何解决如何从不同目录运行多个 .sh 文件 示例 1示例 2示例 3示例 4

SO 我有一个 BSD 服务器并且想要托管一个 minecraft BungeeCoord 服务器。问题是服务器文件位于不同的目录中 例如:/home/name/bungee/servers/Survival/start.sh AND /home/name/bungee/servers/大厅/start .sh

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

简单说一下,我想这样做的原因是因为 BSD 服务器一次只能接收 1 个文件,比如 shell/终端。

编辑:我最终使用的命令是 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之类的编程语言库通过run_forked函数分叉进程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。