Shell 脚本基础
type
status
date
slug
summary
tags
category
icon
password
一、Shell 脚本简介
Shell 脚本是一个文本文件,通常以
.sh 结尾,用于自动化执行一系列命令,尤其适用于重复性任务。二、输出命令
2.1 echo 命令
用于输出文本内容。
2.2 Here Document(多行输出)
用于输出多行文本。
2.3 单引号 vs 双引号
- 单引号:禁止所有转义,原样输出。
- 双引号:允许变量和转义字符(如
\\n、\\t)。
history 命令
三、重定向
3.1 标准文件描述符
0:标准输入(stdin)
1:标准输出(stdout)
2:标准错误(stderr)
3.2 输出重定向
>:覆盖写入
>>:追加写入
2>:重定向错误输出
&>:重定向所有输出
示例:
3.3 输入重定向
四、变量
4.1 变量定义与命名规范
- 命名规范:字母、数字、下划线,见名知意,不与关键字冲突。
- 定义变量:
变量名=值(注意等号两边不能有空格)
4.2 变量调用
- 使用
$变量名或${变量名}(推荐后者避免歧义)
4.3 命令结果赋值
- 使用
$(命令)或反引号`命令`
示例:
4.4 交互式输入
4.5 数学运算
- 使用
let或$(( ))
五、环境变量
5.1 查看环境变量
5.2 设置环境变量
5.3 常用环境变量
HISTSIZE:历史命令条数
HISTTIMEFORMAT:历史命令时间格式
LANG:系统语言
六、特殊变量
$?:上一条命令的退出状态(0 表示成功)
七、awk 基本用法
用于文本分割和处理,默认以空格分隔。
示例:
八、脚本编写与执行
8.1 脚本结构
8.2 执行方式
bash script.sh
- 添加执行权限后直接运行:
九、补充知识点
9.1 变量只读
9.2 位置参数
$0:脚本名
$1,$2, ...:第1、2个参数
$#:参数个数
$@:所有参数
9.3 数组变量
9.4 条件判断
十、建议
- 使用
set -e让脚本在出错时自动退出。
- 使用
set -u防止使用未定义变量。
- 密码处理应更安全,避免明文记录。
Loading...