shell
2015-08-27 00:14
295 查看
if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。Shell 有三种 if ... else 语句: if ... fi 语句;if ... else ... fi 语句;if ... elif ... else ... fi 语句。case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:
case 值 in 模式1) command1 command2 command3 ;; 模式2) command1 command2 command3 ;; *) command1 command2 command3 ;; esacfor循环一般格式为:
for 变量 in 列表 如:for I in ((I=0;i<n;i++)) 和for I in $(seq 0 n) do command1 command2 ... commandN done
while commanddo Statement(s) to be executed if command is truedone
until commanddo Statement(s) to be executed until command is truedone
function function_name () { list of commands [ return value ]}定义数组在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为: array_name=(value1 ... valuen)例如:
复制纯文本新窗口
array_name=(value0 value1 value2 value3)
array_name=(value0 value1 value2 value3)或者
复制纯文本新窗口
array_name=(value0value1value2value3)
array_name=(value0value1value2value3)还可以单独定义数组的各个分量:
复制纯文本新窗口
array_name[0]=value0array_name[1]=value1array_name[2]=value2
array_name[0]=value0array_name[1]=value1array_name[2]=value2可以不使用连续的下标,而且下标的范围没有限制。
读取数组
读取数组元素值的一般格式是: ${array_name[index]}例如:复制纯文本新窗口
valuen=${array_name[2]}
valuen=${array_name[2]}举个例子:
复制纯文本新窗口
#!/bin/sh NAME[0]="Zara"NAME[1]="Qadir"NAME[2]="Mahnaz"NAME[3]="Ayan"NAME[4]="Daisy"echo "First Index: ${NAME[0]}"echo "Second Index: ${NAME[1]}"
#!/bin/shNAME[0]="Zara"NAME[1]="Qadir"NAME[2]="Mahnaz"NAME[3]="Ayan"NAME[4]="Daisy"echo "First Index: ${NAME[0]}"echo "Second Index: ${NAME[1]}"运行脚本,输出:
$./test.shFirst Index: ZaraSecond Index: Qadir使用@ 或 * 可以获取数组中的所有元素,例如:
复制纯文本新窗口
${array_name[*]}${array_name[@]}
${array_name[*]}${array_name[@]}举个例子:
复制纯文本新窗口
#!/bin/sh NAME[0]="Zara"NAME[1]="Qadir"NAME[2]="Mahnaz"NAME[3]="Ayan"NAME[4]="Daisy"echo "First Method: ${NAME[*]}"echo "Second Method: ${NAME[@]}"
#!/bin/shNAME[0]="Zara"NAME[1]="Qadir"NAME[2]="Mahnaz"NAME[3]="Ayan"NAME[4]="Daisy"echo "First Method: ${NAME[*]}"echo "Second Method: ${NAME[@]}"运行脚本,输出:
$./test.shFirst Method: Zara Qadir Mahnaz Ayan DaisySecond Method: Zara Qadir Mahnaz Ayan Daisy
获取数组的长度
获取数组长度的方法与获取字符串长度的方法相同,例如:复制纯文本新窗口# 取得数组元素的个数length=${#array_name[@]}# 或者length=${#array_name[*]}# 取得数组单个元素的长度lengthn=${#array_name}
相关文章推荐
- shell脚本(严格的终端格式控制,美丽的输出字体颜色)
- Linux shell篇---之一--shell基础
- interactive/non-interactive, login/non-login shells
- linux shell 之if-------用if做判断
- linux shell 之if-------用if做判断
- [Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量
- shell中if条件字符串、数字比对,[[ ]]和[ ]区别
- 使用shell脚本检测lvs中realserver状态,并实现自动删除已挂机主机
- shell 脚本编程
- PowerShell管理Hyper-V(Windows2008R2)
- Office 365 IT Professional——如何用PowerShell创建Site Collection?
- SharePoint PowerShell命令系列 (12) New-SPWebApplication
- SharePoint PowerShell命令系列 (11) Remove-SPWeb
- SharePoint PowerShell命令系列 (10) Get-SPWeb & Set-SPWeb
- SharePoint PowerShell命令系列 (9) New-SPWeb
- SharePoint PowerShell命令系列 (8) Remove-SPSite
- SharePoint PowerShell命令系列 (7) Move-SPSite
- SharePoint PowerShell命令系列 (6) Get-SPSite & Set-SPSite
- SharePoint PowerShell命令系列 (5) New-SPSite
- SharePoint PowerShell命令系列 (4) Get-SPSolution