Linux学习笔记:bash的基础特性之变量
来源:互联网 发布:mac强制关机重启黑屏 编辑:程序博客网 时间:2024/05/16 10:41
变量类型
- 变量类型决定数据存储格式、存储空间大小和参与运算种类
- 字符型:
- 数值型:
- 整型
- 浮点型
- 强类型:定义变量时必须指定类型,参与运算必须符合类型要求,调用未声明变量会产生错误
- 弱类型:无需指定类型,默认均为字符型,参与运算会自动进行隐式类型转换,变量无须实现定义可直接调用
bash中的变量的种类:
- 根据变量的生效范围等标准:
- 本地变量:生效范围为当前shell进程:对当前shell之外的其他shell进程,包括当前shell的子shell进程均无效
- 环境变量:生效范围为当前shell进程及其子进程
- 局部变量:生效范围为当前shell进程中某代码片段(通常指函数)
- 位置变量:
1, 2,…来表示,用于让脚本在脚本代码中调用通过命令行传递传递给它的参数 - 特殊变量:
?, 0,∗, @,$#
- 本地变量:
- 变量赋值:name = ‘VALUE’
- 可以使用引用:
- value:
- (1) 可以是直接字串:name = username
- (2) 变量引用:name = $username
- (3) 命令引用:name =
COMMAND
(反引号), name = $(COMMAND)
- value:
- 可以使用引用:
- 变量引用:=
name, name- ”“:弱引用,其中的变量引用会被替换为变量值
- ”:强引用,其中的变量引用不会被替换为变量值,而保持字符串
- 注:以上name及{name}前均有$,因特殊字符未显示
- 显示已定义的所有变量
- set
- 销毁变量
- unset name
- 变量赋值:name = ‘VALUE’
- 环境变量:
- 变量声明,赋值:
- export name = VALUE
- declare -x name = VALUE
- 变量引用:
name, {name}- 注:以上name及{name}前均有$,因特殊字符未显示
- 显示所有环境变量
- export
- env
- printenv
- 销毁变量:
- unset name
- bash有许多内建的环境变量:PATH,SHLL,UID,HISTSIZE,HOME,PWD,OLD,HISTFILE,PSI
- 变量声明,赋值:
- 变量命名法则:
- 1、不能使用程序中的保留字,例如if,for;
- 2、只能使用数字、字母及下划线,且不能以数字开头
- 3、见名知义
- 只读变量:
- readonly name
- declare -r name
- 位置变量:
- 在脚本代码中调用通过命令行传递给脚本的参数
1, 2,$3,…:对那个调用第1,第2,第3等参数- shift [n]:轮替,n表示数字 把后面第n个参数轮替到第一个参数
- 注:1,2前均有$
- $0:命令本身
- $*:传递给脚本的所有参数(将所有参数当作一个字符串)
- $@:传递给脚本的所有参数(将所有参数分为多个字符串)
- $#:传递给脚本的参数的个数
- 在脚本代码中调用通过命令行传递给脚本的参数
阅读全文
0 0
- Linux学习笔记:bash的基础特性之变量
- Linux学习笔记:bash的基础特性
- Linux学习笔记:bash的基础特性之二(shell编程)
- linux基础之bash特性
- Linux基础学习笔记之bash的快捷键
- Linux学习笔记04之bash01-bash特性
- 【linux学习笔记】 bash学习之变量内容的删除、取代与替换
- bash变量的学习笔记
- bash特性之基础
- 【Linux学习笔记】24:Bash变量概述
- bash的基础特性
- linux shell之bash的特性
- Linux学习之十二bash脚本之变量、变量类型
- linux复习笔记之bash shell(1)bash基础
- linux复习笔记之bash shell (2) bash基础
- BASH学习之Shell 的变量功能
- linux笔记-bash特性详解
- Linux Shell基础-Bash变量
- 仪表盘
- echarts自定义配置(持续更新)
- 1018. Public Bike Management (30)
- HDU-2189来生一起走
- Oracle表空间及用户权限(入门)
- Linux学习笔记:bash的基础特性之变量
- 【JZOJ 5241】苹果和雪梨
- Codeforces 439E 容斥
- servlet+HTML实现动态时钟
- 创建型设计模式——单例模式
- 4246 奶牛的身高
- Android-指定弹出键盘
- 使用 JSR 356 API 构建 Java WebSocket 应用
- Maven入门(含实例教程)