Linux Shell 变量总结

Shell

Shell 变量

  • 定义变量
    【例子】: your_name="小明"

注意:

  1. 首个字符必须为字母。
  2. 变量名中间不能有空格,可以使用_。
  3. 不能使用标点符号。
  4. 不能使用bash中的关键字。
  • 使用语句对变量进行赋值
    or file in ls /etc – 将会把/etc目录下的文件名循环出来
  • 使用变量
    使用一个定义过的变量,在变量名前面加美元符号即可
your_name="小明"
echo $your_name
# {}是可选的。
echo ${your_name}

花括号是为了帮助解释器识别变量的边界
例如:

for skill in Ada Coffe Action Java do
    echo "I am good at ${skill}Script"
done

已经定义过的变量可以重新定义

Shell字符串

字符串可以用单引号,也可以用双引号,也可以不用引号。

  1. 单引号:
    str='xiaoming'
  • 单引号字符串的限制:
    单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
    单引号字串中不能出现单引号(对单引号使用转义符后也不行)。
  1. 双引号:
your_name='xiaoming'
str = "hello, I know your are \"$your_name\"! \n"
  • 双引号的优点:
    双引号里可以有变量
    双引号里可以出现转义字符
  1. 拼接字符窜:
your_name="xiaoming"
greet="hello, "$your_name" !"
greet_1="hello, ${your_name} !"
echo $greeting $greeting_1
  1. 获取字符串长度:
string="xiaoming"
echo ${#string} 
#输出 8
  1. 提取字符串:
string="xiaoming is a great boy"
echo ${string:1:4}
#输出iaom
  1. 查找子字符串:
string="xiaoming is a great boy"
echo `expr index "$string" io`
# 那个字母先出现就计算那个字母的下表

Shell数组

bash支持一维数组,没有限定数组的大小
数组元素的下标由 0 开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于 0。

  • 定义数组
    用括号来表示数组,数组元素用"空格"符号分割开。语法: 数组名=(值1 值2 ... 值n)
    【例子】:
    age=(1 2 3 4 5 6)
    或者:
age=(
1
2
3
4
)

单独定义数组的各个分量:

age[0]=1
age[1]=2
age[2]=3

可以不使用连续的下标,而且下标的范围没有限制。

  • 读取数组
    读取数据元素值的语法:${数组名[下标]}
    valuet=${age[n]}
    使用 @ 符号可以获取数组中的所有元素
    echo ${age[@]}
  • 获取数组的长度
    获取数组长度的方法与获取字符串长度的方法相同
# 取得数组元素的个数
length=${#age[@]}
# 或者
length=${#age[*]}
# 取得数组单个元素的长度
lengthn=${#age[n]}

Shell注释

以 # 开头的行就是注释,会被解释器忽略。
通过每一行加一个 # 号设置多行注释,

#--------------------------------------------
# 这是一个注释
# author:xiaoming
# site:www.xiaoming.com
#--------------------------------------------
  • 多行注释
    语法:
:<<EOF
注释内容...
注释内容...
注释内容...
EOF

或者:

:<<'
注释内容...
注释内容...
注释内容...
'
:<<!
注释内容...
注释内容...
注释内容...
!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值