Shell 脚本以 #! 开头指定解释器,需用 chmod 设置执行权限后才能运行;支持变量、read 输入、if 判断和 for 循环等基本语法。

Shell 脚本是 Linux 系统管理与自动化任务的基石,写一个能运行的简单脚本并不难,关键是理解执行逻辑、权限设置和基本语法结构。
Shell 脚本长什么样?从第一行开始
每个 Shell 脚本通常以“shebang”(#!)开头,告诉系统用哪个解释器来运行它。最常见的是:
#!/bin/bash
这行必须是脚本的第一行,不能有空格或注释在前面。之后就可以写命令了,比如:
echo " 你好,这是我的第一个脚本 " date ls -l
这些命令会按顺序逐行执行,就像你在终端里手动敲的一样。
怎么让脚本真正跑起来?别忘了给权限
新建的文件默认没有执行权限,直接输入 ./myscript.sh 会报错:Permission denied。需要先用 chmod 加上可执行权限:
- chmod +x myscript.sh —— 给当前用户、组和其他人全部加上执行权(常用)
- chmod 755 myscript.sh —— 更明确:所有者可读写执行(7),组和其他人可读可执行(55)
加完权限后,就可以用 ./myscript.sh 运行了(注意前面的 ./,表示当前目录下的文件)。
变量和用户输入:让脚本更灵活
Shell 支持变量赋值(等号两边不能有空格),也支持用 read 获取用户输入:
name=" 小明 " echo " 欢迎 $name" echo " 请输入你的年龄:" read age echo " 你今年 $age 岁 "
注意:$ 变量名 才是取值,定义时不用美元符;双引号内支持变量展开,单引号则原样输出。
加点判断和循环,脚本就活了
简单的逻辑控制能让脚本应对不同情况。比如检查文件是否存在:
if [-f "/tmp/test.txt"]; then echo " 文件存在 " else echo " 文件不存在,正在创建……" touch /tmp/test.txt fi
再比如打印数字 1 到 3:
for i in 1 2 3; do echo " 第 $i 次运行 " done
方括号 [] 是 test 命令的简写,前后必须有空格;do 和 done 是 for 循环的固定配对。
基本上就这些——写脚本不复杂,但容易忽略权限、路径、空格和引号这些细节。动手试几次,比看十遍文档都管用。






























