你的第一个 Bash 脚本

Bash 脚本入门

Alex Scriven

Data Scientist

Bash 脚本结构

一个 Bash 脚本有以下关键特征:

  • 通常以 #!/usr/bash 开头(独占一行)
    • 这样解释器知道它是 Bash 脚本,并使用位于 /usr/bash 的 Bash
    • 如果 Bash 安装在其他路径(如 /bin/bash),则可能不同(输入 which bash 检查)
  • 中间是代码行
    • 可以是逐行命令或编程结构
Bash 脚本入门

Bash 脚本结构

保存与运行:

  • 使用 .sh 扩展名
    • 若首行含 shebang 和 Bash 路径(#!/usr/bash),技术上可不加,但属约定
  • 可在终端用 bash script_name.sh 运行
    • 或者若已写首行(#!/usr/bash),可直接用 ./script_name.sh 运行
Bash 脚本入门

Bash 脚本示例

一个完整脚本示例(名为 eg.sh):

#!/usr/bash
echo "Hello world"
echo "Goodbye world"

可用命令 ./eg.sh 运行,输出为:

Hello world
Goodbye world
Bash 脚本入门

Bash 与 shell 命令

Bash 脚本中的每一行都可以是一个 shell 命令。

因此,你也可以在脚本中使用管道。

考虑一个文本文件(animals.txt

magpie, bird
emu, bird
kangaroo, marsupial
wallaby, marsupial
shark, fish

我们想统计每组动物的数量。

Bash 脚本入门

Bash 与 shell 命令

在 shell 中你可在终端写一条链式命令。我们将其放入脚本(group.sh):

#!/usr/bash
cat animals.txt | cut -d " " -f 2 | sort | uniq -c

现在(保存脚本后)运行 bash group.sh 将得到:

   2 bird
   1 fish
   2 marsupial
Bash 脚本入门

让我们练习!

Bash 脚本入门

Preparing Video For Download...