电子说
单行以 # 开头的行就是注释,会被解释器忽略。
多行以:
*<
EOF
*结束,中间的都为注释,示例如下:
# 注释内容...
:<<EOF
注释内容...
注释内容...
注释内容...
EOF
定义变量
格式如下,“=”左右两边不能有空格
变量名=值
其中变量名的要求为:
值的话没有要求,可以为整数、字符串、数组等,赋值完某个类型后,后面还可以继续再赋值为其他类型,示例如下:
# 定义一个字符串变量
var="hello word"
# 定义一个值为1的变量
var=1
# 定义一个包含a、b、c的数组变量
var=(a b c)
使用变量
使用一个定义过的变量,只要在变量名前面加美元符号 $
即可,示例如下:
var="hello word"
# 打印变量var的值,
echo $var
# 如果变量没有定义过,则值为空
echo $test
# 输出结果
hello word
只读变量
使用 readonly
命令可以将变量定义为只读变量,只读变量的值不能被改变。示例如下:
readonly val="ready only"
# 给只读变量再次赋值会报错
val="test"
# 输出结果
-bash: val:只读变量
删除变量
使用 unset 命令可以删除变量。语法:
unset variable_name
变量被删除后不能再次使用。 unset 命令不能删除只读变量 。示例如下:
var="hello word"
unset var
echo $var
# 输出结果为空
字符串定义
字符串是shell编程中最常用最有用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号(不用引用的情况中间不能有空格)。
str="this is string"
str='this is string'
# 正确示例,无引号无空格
str=thisisstring
# 错误示例,无引号有空格
str=this is string
获取字符串长度
通过${#variable_name}
方式获取,示例如下:
string="abcd"
echo ${#string}
# 输出结果
4
索引数组定义
数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小。数组元素的下标由 0 开始。
Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:
array_name=(value1 value2 ... valuen)
赋值也支持指定索引位置赋值,示例如下:
# 数组赋值常见的两种方式
array_name=("abc" "def")
array_name[0]="abc"
array_name[1]="def"
获取数组长度
同获取字符串长度一样,也是通过${#variable_name}
方式获取,示例如下:
array_name=("abc" "def")
# 打印数组长度
echo ${#array_name}
# 输出结果:
2
读取数组元素
指定索引位置的使用${array_name[index]}
,全部的使用${array_name[*]}
,示例如下:
array_name=("abc" "def")
# 读取数组指定索引元素
echo ${array_name[0]}
# 读取数组全部的元素
echo ${array_name[*]}
#输出结果
abc
abc def
全部0条评论
快来发表一下你的评论吧 !