shell变量赋值以及使用
日期: 2020-04-28 分类: 个人收藏 366次阅读
1、变量赋值
定义变量时,变量名不加美元符号,如
name_str="lili"
特别注意:变量名和等号之间不能有空格
其他注意事项与其他语言相通
2、使用变量
使用一个定义过的变量,只有在变量名前面加美元符号$即可
name_str="lili"
echo $name_str
echo ${name_str}
注:变量名外面的花括号是可选的,可加可不加,花括号是为了帮助解释器识别变量边界,所以加上比较保险
已被定义的变量也可重新被定义
num=1
echo $num
num=2
echo $num
3、位置参数
${n}:输入的第n个参数 ($0表示脚本名字)
$#:输入参数的数量
$@:输入的所有参数
$!:输入的最后一个参数
$?:上一个命令的返回值(用于在脚本中判断之前命令的执行状态,任何非0 的返回都非正常执行)
4、数组
数组元素用空格分隔开
数组名=(值1 值2 值3 值n)
array_name=(value0 value1 value2)
读取数组
$(数组名[下标])
5、只读变量
使用readonly命令可以将变量定义为只读变量,只读变量的名不能被改变
declare -r N=10
readonly N=10
使用演示:
Count=1
readonly Count
Count=2
-bash: Count:只读变量
6、删除变量
变量删除后不能再使用,unset命令不能删除只读变量
shopt -s -o nounset 设置先申明再使用
uset 释放变量和函数内存
num=222
unset num
echo $num
没有任何输出
7、函数中的变量
若不声明local,则函数中的变量也为全局变量
若声明local(local var=100),则变量的作用域只在函数内
8、字符串
单引号
str='abcdefg'
单引号里的任何字符都会以原样输出,单引号中的变量是无效的
双引号 (双引号里可以有变量,也可以出现转译字符)
[root@localhost ~]# your_name='123'
[root@localhost ~]# str="hello\"$your_name\"! \n"
[root@localhost ~]# echo -e $str
hello"123"!
9、获取字符串长度
str="abcd"
echo ${#str}
输出4
10、提取字符串
str="abcd"
echo ${str:1}
输出bcd
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
上一篇: 【数据挖掘】之 数据挖掘 绪论
下一篇: 学习爬虫之Scrapy框架学习(六)--1.直接使用scrapy;使用scrapy管道;使用scrapy的媒体管道类进行猫咪图片存储。媒体管道类学习。自建媒体管道类存储图片
精华推荐