ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
#### 变量 ``` 本地变量 全局变量 shell内置变量 ``` #### 本地变量 ``` 在当前系统的某个环境下才能生效的变量,作用范围小 本地变量包含两种: 普通变量 命令变量 ``` ``` 普通变量 变量名=变量值 变量值必须是一个整体,中间没有特殊字符 变量名='变量值' 看到的内容就是我们输出的内容 变量名="变量值" 会解析变量值中包含的变量 ``` ``` 命令变量 变量名=`命令` 变量名=$(命令) ``` #### 全局变量 ``` 在当前系统下所有环境下都能生效的变量 env ``` ``` 定义全局变量 方法1: 变量=值 export 变量 方法2: export 变量=值 ``` ``` 变量的查看和取消 $变量名 "$变量名" ${变量名} 使用频率较高 "${变量名}" 标准使用方式 unset 变量名, 取消变量 ``` #### 内置变量 ``` $0, 获取当前执行的shell脚本文件名 $n, 获取当前执行的shell脚本的第n个参数值, n大于10就要用括号括起来${10} $# , 获取当前shell命令行中参数的总个数 $?, 获取执行上一个指令的返回值(0成功, 非0失败) #!/bin/bash echo "my script name is $0" echo "script programs num is $#" echo "first programs num is $1" echo "second programs num is $2" echo "third programs num is $3" my script name is bianliang.sh script programs num is 3 first programs num is aa second programs num is bb third programs num is cc ``` ``` 字符串精确截取 ${file:0:5} 从第1个字符开始,截取5个字符 ${file::5} 从第1个字符开始,截取5个字符 ${file:5:5} 从第6个字符开始,截取5个字符 ${file:5} 从第6个字符开始,截取后面所有的字符 ${file:0-5} 从倒数第5个字符开始,截取后面所有的字符 ${file:0-6:3} 从倒数第6个字符开始,截取之后的3个字符 ``` ``` 默认值 ${变量名:-默认值} 变量a如果有内容,那么就输出a的变量值 变量a如果没有内容,那么就输出默认的内容 ```