LinuxShell脚本怎么写_基础语法快速入门【教程】

8次阅读

Linux Shell 脚本核心是掌握 shebang、变量、条件判断和循环语法:首行必须 #!/bin/bash,变量赋值等号无空格,引用推荐 ${name},条件用 [] 或[[]]且注意空格,循环用 for/while,建议用 shellcheck 检查。

LinuxShell 脚本怎么写_基础语法快速入门【教程】

写 Linux Shell 脚本不难,核心是掌握几个关键语法点,再配合实际命令组合使用。脚本本质就是把你在终端里一条条敲的命令,按逻辑顺序存成文件,然后交给 shell(比如 bash)去执行。

脚本开头必须写 #!/bin/bash

这是“shebang”行,告诉系统用哪个解释器运行这个文件。绝大多数情况用 bash:

  • 第一行必须是 #!/bin/bash(注意:# 和 ! 之间不能有空格)
  • 保存为 hello.sh 后,要先加执行权限:chmod +x hello.sh
  • 运行方式是 ./hello.sh,不是 sh hello.sh(后者会绕过 shebang,可能用错 shell)

变量定义和引用很简单,但要注意等号两边不能有空格

Shell 变量不声明类型,赋值直接写:

  • 定义:name=”Alice”(= 号左右绝对不能有空格)
  • 引用:echo “Hello, $name”echo “Hello, ${name}”(推荐花括号,尤其拼接字符串时更安全)
  • 环境变量(如 PATH、HOME)可以直接用,无需定义;想让变量在子进程中可用,加 export,比如 export MY_VAR=”test”

条件判断用 [] 或 [[]],记得空格和结尾的 ]

if 判断最常用,语法看着简单,但空格是硬性要求:

  • 基本结构:if [“$name” = “Alice”]; then … fi
  • [] 是命令(等价于 test),所以 [ 后、] 前都必须有空格
  • 字符串比较用 =(不是 ==),数字比较用 -eq-lt
  • 推荐用 [[]](bash 扩展),支持正则和更自然的语法,比如 [[$file =~ .log$]]

循环就两个主力:for 和 while

处理列表或持续检查状态,够用了:

  • for i in 1 2 3; do echo $i; done —— 遍历固定项
  • for file in *.txt; do cat “$file”; done —— 通配符展开后遍历(注意加引号防空格名出错)
  • while [$count -lt 5]; do echo $count; ((count++)); done —— 条件满足时重复执行

不复杂但容易忽略:写完多用 shellcheck 工具 检查(sudo apt install shellcheck),它能立刻指出空格、引号、未定义变量等 常见问题

text=ZqhQzanResources