Shell 的变量功能

变量

1.访问变量

echo $变量名称

2.配置变量

变量配置守则

  • 添加变量
  • 修改
  • 扩增
  • 内嵌变量
  • 内嵌命令
  • 转义
  • 取消变量
  • 让子程序可以使用

环境变量 自定义变量

查看环境变量:env export
查看全部变量:set

  • PS1
  • $

父程序 子程序

子程序继承父程序对的环境变量,不继承自定义变量。

1.自定义变量->环境变量

为了让方便子程序使用:export 变量名称

2.环境变量->自定义变量

declare

变量键盘读取、数组与宣告: read, array, declare

  • read:-p 提示,-t秒数倒计时
    • read -p “enter:” -t 30 ap

image.png

  • declare / typeset:声明变量及其类型

image.png

  • 数组

    限制文件大小ulimit

    可以限制用户能创建的单一文件大小和同时可开启的文件数量ulimit -a

    变量内容的删除和替代

    | 符号 | 作用 | 含义 | 举例 | 备注 | | —- | —- | —- | —- | —- | | # | 删除 | 从头删除最短匹配项 | echo ${path#/:} | path本身不会变,除非path=${path#/:} | | ## | 删除 | 从头删除最长匹配项 | echo ${path##/:} | | | % | 删除 | 从尾删除最短匹配项 | echo ${path%/:} | | | %% | 删除 | 从尾删除最长匹配项 | echo ${path%%/*:} | | | / | 替代 | 替代第一个匹配项 | ${variable/old/new} | 同上 | | // | 替代 | 替代全部匹配项 | ${variable//old/new} | |

变量的测试和内容替换

var=${str-content}:如果str不存在(未配置),var=``content
var=${str:-content}:如果str不存在(未配置)或为var=content

空的情况:username=””

image.png