shell程序设计

要素

  • 算法
  • 变量
  • 数据结构
  • 函数调用
    • 参数
    • 返回值

特点

  • 弱变量
  • 0表示真,非0表示假
  • 可以删除变量
  • 不产生二进制可执行程序
  • linux作为可执行文件的时候一定要加当前目录(./)
  • 其他(作为被操作符的时候不用加当前目录
notion image

执行命令方式

  • 交互式:解释执行
  • 批处理:shyiell脚本

通配符与转义字符

通配符

代替未知字符
? * [charset] [a-z] [acChH]

转义字符

让字符成为字符本身无其他含义
\$ \W \u \n \\

常用运算符

Shell字符串

  • ‘’单引号
    • 原样输出
    • 单引号内不能出现单引号
  • “”双引号
    • 里面可以放变量和转义字符

基于bash的shell程序

程序编译运行过程

  • 使用vim文本编辑器
  • 保存.sh文件
  • 使用Chmod修改.sh文件权限,赋予可执行权限
  • 运行./*.sh

Shell变量

变量赋值

  • 变量名=值
  • 作为条件变量名前要加空格,且每个的前面都有空格[ a = $c ]
  • 变量名前不能加空格
  • 左边不加$,右边加$

变量类型

  • 局部变量
  • 系统变量
    • 环境变量
    • Shell变量
      • ./a.sh X Y Z $0是程序、命令本身(a.sh)
        SAY HELLO(X,Y,Z) $0(say hello())
        x y z 实参
        $1 $2 $3 形参
      • $#
        • shell参数个数
      • $@和$*
        • 后面跟参数,传递的参数当数组用
      • $?
        • 上一个命令返回值,0真非0假
      • $$
        • 当前进程id
      • $!
        • 后台运行的一个进程的id

条件判断

test condition或 [ condition ]

控制结构

Prev
linux网络基础
Next
网络服务配置与管理
Loading...
Article List
一个NotionNext搭建的博客
数据库系统概论
大数据原理与应用
javaWeb应用开发基础教程
python
毕业设计
大数据技术综合应用
实训-航空数据系统
java面向对象程序设计
数据结构
算法分析与设计
SPARK
Python爬虫大数据采集与挖掘
云计算
概率论与数理统计
数字逻辑
计算机网络
计算机组成原理
linux
操作系统
人工智能导论
数据仓库与数据挖掘
数据可视化
大数据安全与隐私保护
c语言
C++