Shell 编程基础 — 平台、变量、字符串、流程控制
概述
Day17 是 Shell 编程的入门篇章,涵盖跨平台概念、Shell 语言特点、交互式/非交互式 Shell、变量定义与引用、字符串处理、条件判断与循环控制。
核心内容
Shell 语言特点
- 解释型、面向系统管理、弱类型、命令返回值驱动
- 既是命令解释器,也是编程语言
登录 Shell vs 非登录 Shell 配置文件
- Login:
/etc/profile→~/.bash_profile - Non-login:
~/.bashrc→/etc/bashrc - Cron 脚本不加载 profile,必须用绝对路径
变量
- 命名:字母数字下划线,不能以数字开头
- 引用:
$var或${var} - 作用域:
export导出为环境变量,local限定函数内
字符串操作
${#str}长度、${str:offset:len}切片${var/old/new}替换、#/%截断
流程控制
if [ 条件 ]、for、while、case- 文件测试(
-f/-d/-e)、字符串比较(=/!=)、数值比较(-eq/-gt)
关联
- 后续:Shell 编程 1、Shell 编程 2、Shell 编程 3
- 相关概念:权限管理(Login Shell vs Non-Login Shell 配置文件加载机制)、
/etc/profile、~/.bashrc