346 字
2 分钟
Bash Shell 实现程序并行

Bash Shell 实现程序并行#

(2023.03.21)

1. Bash 简介_w3cschool#

Bash shell 可以在文本中直接运行Liunx 命令。

Bash 是 Bourne Shell 程序“sh”的升级版本,这是一个开源 GNU 项目。它提供了比 Bourne Shell 更好的功能,适用于编程和交互使用。 我们可以这么理解,Bash 是一个命令处理器,通常运行于文本窗口中,可以将用户输入的命令解释并执行相应的操作,这样式的文件被称作脚本。 Bash 是绝大多数 Linux 、MAC 及 OS 默认的 shell 程序,并且 Shell Script 都大致相同。当您学会一种 Shell 后,其它的 Shell 都能够很快上手,而且一种 Shell Script 通常可以在很多 Shell 上使用,因此您不必在学习哪种 Shell 的选择上耗费太多的时间。

2. Bash 示例#

#!/bin/bash
# Part 1 注释
# 单行注释
<< BLOCK
1.
2.多行注释(1)
3.
BLOCK
:'
1.
2.多行注释(2)
3.'

3. 并行Bash#

shell中的命令都是串行执行的,如果想要充分利用服务器的资源,需要一些小技巧

Terminal window
# do the Jobs
ii=$(((nshots+1)/$Worker))
jj=$(((nshots+1)%$Worker))
for((i=0;i<$ii;i++))
do
for((j=0;j<$Worker;j++))
do
{
job=$((i*$Worker+j))
bash ./jobs/lgl_$job.sh
} & # 并行$Worker个程序
done
wait # 等待完成 多个
done

4. 参考#

1 Bash 教程总览_w3cschool

2 Shell-使用&和wait让你的脚本并行执行 - 腾讯云开发者社区-腾讯云 (tencent.com)

Bash Shell 实现程序并行
https://tuoyuangui.github.io/website/posts/typora/linux系统/bash-shell-实现程序并行/
作者
椭圆规/tuoyuangui
发布于
2023-06-12
许可协议
CC BY-NC-SA 4.0