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 [ 条件 ]forwhilecase
  • 文件测试(-f/-d/-e)、字符串比较(=/!=)、数值比较(-eq/-gt

关联