Shell 变量的命名 (二)

shellName=“hello,沐淼!”

注意:变量名和等号之间不能有空格;

  • 首个字符必须为字母(a-z  A-Z)
  • 中间不能有空格,可以是下划线
  • 不能使用标点符号
  • 不能使用bash里的关键字
变量的命名

shellName=“hello,沐淼!”

变量的拼接

name="World"
shellName=“hello ${name},沐淼!”

使用echo 输出结果:  hello World,沐淼!

只读变量

name="World"
readonly name
name="hello World"
echo ${name}

输出结果:World

删除变量

使用unset命令删除变量

unset   变量名

变量的类型

运行shell时,会同时存在三种变量

  1. 局部变量  局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
  2. 环境变量   所有的程序,包括shell启动程序,都能访问环境变量,有些程序需要环境变量保证其正常运行。必要的时候shell脚本也可以定义环境变量
  3. shell变量   shell变量是由程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
Shell字符串

字符串是shell中最长用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号。

单引号字符串的限制:

  • 单引号里的任何字符都会原样输出,单引号字符串的变量是无效的;
  • 单引号字符串中不能出现单引号(对单引号使用转义字符也不行)

双引号的优点

  • 双引号里可以有变量
  • 双引号里可以出现转义字符

建议:尽量使用双引号

获取字符串的长度

name='www.baidu.com'
echo "获取字符串长度:"${#name}

输出结果 :字符串长度  13 

提取字符串

name="blog.csdn.net/mqf163"
echo ${name:0:4}

输出结果 :字符串长度  blog

查找字符串

name="blog.csdn.net/mqf163"
echo `expr index "${name}" mqf163`

注意 :"  `  " 是反引号  不是单引号

输出结果 :15

Shell数组

bash支持一维数组 不支持多维数组,并且没有限定数组的大小

定义数组

#!/bin/bash
array_name=("沐淼" "mqf163" "csdn")
数组用括号来表示,数组元素回见用 " 空格 " 分开

或者单独定义各个分量,下标可以使用不连续的,且没有限制:

array_name[0]="mumiao"
array_name[1]="mqf"
array_name[n]="mqf163"


读取数组

读取数组的单个元素

#!/bin/bash
array_name=("nihao" "fafasf" "afaf")
echo ${array_name[1]}

输出    fafasf

读取数组的所有元素

#!/bin/bash
array_name=("nihao" "fafasf" "afaf")
echo ${array_name[@]}

#!/bin/bash
array_name=("nihao" "fafasf" "afaf")
echo ${array_name[*]}

输出:

@: nihao fafasf afaf
*:nihao fafasf afaf

获取数组的长度

#!/bin/bash
array_name=("nihao" "fafasf" "afaf")
echo ${#array_name[*]}
或者

 ${#array_name[@]}
输出结果是  3

获取数组元素的长度

#!/bin/bash
array_name=("nihao" "fafasf" "afaf")
echo ${#array_name[1]}
输出结果是  :  5

Shell注释

以"#"开头的行就是注释,会被解释器忽略;

sh里没有多行注释  只有单行注释


Shell脚本8种字符串截取方法总结  :http://www.jb51.net/article/56563.htm

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值