「4月日新计划更文活动」
变量的定义
变量的命名规范
注意点:
- 变量名不加“美元符号”
- 变量名和等号之间不能有空格
- 命名只能用英文字母,数字和下划线,首字符不能以数字开头
- 变量名中间不能有空格,可以使用下划线
_ - 不能使用标点符号
- 不能使用bash的关键字,如以下
- `if`, `then`, `else`, `elif`, `fi`:控制结构关键字,用于条件语句控制。
- `for`, `while`, `until`, `do`, `done`:循环控制结构关键字。
- `case`, `esac`:用于维护多个条件的分支结构关键字。
- `function`:定义或声明一个函数。
- `return`:从函数中返回一个值。
- `select`:在菜单驱动的shell脚本中使用, 提供用户选项。
- `break`, `continue`:在循环中控制跳转。
- `export`:将变量导出至其他子进程能使用。
- `readonly`:将变量设置为只读。
- `declare`:用于声明变量类型和属性。
- `let`:用于执行算术运算。
- `shift`:移动命令行参数。
变量赋值
直接赋值
- 直接引用变量的赋值
- 语法表达式:
variable_name=value
num=10
echo $num
语句赋值
- 以命令的输出赋值给变量
- 以下栗子🌰中,使用“$()”括号来执行命令,作为输出变量
cur_dir=$(pwd)
使用变量
- 使用定义过的变量,只需要在变量名前加上
$符号 - 变量名外可以使用花括号,可以选择添加或者不添加
- 花括号是为了帮助解释器识别变量的边界
name='seven'
echo $name
echo ${name}
注意
定义不需要加()
只读变量
- 使用readonly命令可以将变量定义为只读变量
- 只读变量的值是不可以被更改的
url="www.baidu.com"
read only url
删除变量
- 使用unset命令可以删除变量
- 语法格式:
unset variable_name
unset url
变量类型
- 局部变量:仅在当前shell实例中有效,其他shell启动无法访问该局部变量
- 环境变量:所有程序,包括启动程序,都能访问环境变量,有需要时,shell脚本也可以定义环境变量
- shell变量:shell变量是由shell程序设置的特殊变量,shell变量中一部分是环境变量,一部分是局部变量