定义变量时,变量名不加美元$符号,命名时只能使用英文字母,
数字和下划线,中间不能有空格,可以使用下划线(_),不能使用标点符号,不能使用bash里的关键字,(可以使用help命令查看保留关键字)
变量的类型
局部变量,在脚本或命令中定义,仅在当前shell 实例中有效,其他shell启动的程序不能访问,局部变量。
环境变量,所有的shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运气。
shell变量
shell变量是shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量。
#变量的生命
name="zhangsan"
for file in 'ls /etc' (for 循环
或for file in $(ls /etc)
<#变量的调用
echo $name
echo $
for slill in Ada Coffe Action Java;do
echo"I am good at $Script"
done
#只读变量 /bin/sh:NAME: This variable is read only
url="https://www.google.com"
readonly url 只读属性。
url="htttps://wwww.runoob.com"
#删除变量
unset name
例子#a=10
#b=20
#echo $a+$b 当成了字符串,
10+20
Shell的字符串
字符串是shell最常用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用双引号。''""
#str1=zhangsan
#star2='zhang san'
#str3=$str2
#echo $str3
zhang san
#str4="$star2 444"
#sta5='$star2 555'没转义
#echo $str5
$str2 555
单引号
单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的。
单引号字符串中不能出现单独的单引号,但可以成对出现,作为字符串拼接使用。
双引号,双引号里可以有变量,
双引号里可以出现转字符、
#声明字符串
strl="hello world 1"
str2="hello world 2"
#字符串拼接--双引号
name='sunwukong'
name1="hello, "$name"!"
name2="hello,$!"
#字符串拼接---单引号
passwd='123456'
passwd1='hell,'$passwd'!'
passwd2='hello,$!' 不转义了
echo $passwd2 # hello, !
字符串长度
echo $email="123456@qq.com"
echo $
shell数组
bash支持一堆数组(不支持多维数组),并且没有限定数组的大小
数组元素下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或者算数表达式,其值应大于等于0
#定义数组 括号来表示数组,数组元素用"空格"符号分隔开
数组名=(值1 值2 ... 值n)
favs=("足球""篮球""乒乓球球""保龄球)"
#读取数组 ${数组名[下标]}
fav=${favs{[1]}
#使用@符号可以获取数组中的所有元素
echo${favs[@]}
#favs=("足球" "篮球" "乒乓球球" "保龄球")
echo ${favs[@]}
足球 篮球 乒乓球球 保龄球
#echo ${favs[1]}
篮球#获取数组的长度
length1=$
length2=$
shell的注释
以#开头的行就是注释。会被解释权忽略。
通过每一行加#号设置多行注释
#特殊的多行注释
:<<EOF
注释内容...
注释内容...
注释内容...
EOF
:<<!
注释内容...
注释内容...
注释内容
!
Shell的参数快递
shell的基础入门
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法