Shell变量

运行shell脚本的两种方法:
1.作为可执行程序
将脚本保存为shell.sh,并cd到相应目录:
chmod + x ./ test . sh #使脚本具有执行权限
./ test . sh #执行脚本
执行结果:

2.作为解释器参数
直接运行解释器,其参数就是shell脚本的文件名,如
/bin/ sh test . sh
/ bin / php test . php
执行结果:

定义shell变量:
your_name="xujiming"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
  • 首个字符必须为字母(a-z,A-Z)。
  • 中间不能有空格,可以使用下划线(_)。
  • 不能使用标点符号。
  • 不能使用bash里的关键字(可用help命令查看保留关键字)。
定义如下脚本:

执行脚本:

已定义的变量可以重新定义:

执行结果:

注意,第二次赋值的时候不能写$your_name="xujifeng",使用变量的时候才加美元符($)。
只读变量:
使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

执行结果报错:

删除变量:
使用 unset 命令可以删除变量。语法:unset variable_name
定义shell5.sh

执行结果:

删除后没有任何输出。
Shell字符串:
字符串可以用单引号,也可以用双引号,也可以不用引号。
单引号字符串的限制:
  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
  • 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。
双引号
your_name = 'qinjx'
str = "Hello, I know your are \"$your_name\"! \n"
双引号的优点:
  • 双引号里可以有变量
  • 双引号里可以出现转义字符
定义字符串:

执行结果:

拼接字符串

执行结果:

获取字符串长度:

执行结果:
提取子字符串:
以下实例从字符串第 2 个字符开始截取 4 个字符:

执行结果:

查找子字符串:
string = "runoob is a great company"
echo `expr index "$string" is` # 输出 8
注意:  以上脚本中 "`" 是反引号,而不是单引号 "'",不要看错了哦。
Shell 数组:
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。
类似与C语言,数组元素的下标由0开始编号。获取数组中的元 素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。
定义数组:
在Shell中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:
数组名=(值 1 2 ... n )
定义数组,读取元素,获取数组的长度:

执行结果:

Shell 注释:
以"#"开头的行就是注释,会被解释器忽略。
sh里没有多行注释,只能每一行加一个#号。
#--------------------------------------------
# 这是一个注释
# author:xujiming
# site:www.runoob.com # slogan:学的不仅是技术,更是梦想!
#--------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值