Shell编程基础
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell编程基础相关的知识,希望对你有一定的参考价值。
接收用户参数
·#./example.sh one two three
Shell脚本语言内设了用于接收用户参数的变量,基于上述命令,常用的变量如下:
- 用$0可获取到shell脚本的文件名称,上述的example.sh
- 用$1、$2、$3 .......分别对应着地N个位置的参数,如$1对应着one
- 用$#对应着该脚本执行时带有的参数个数,上述$#等于3
- 用$*对应的是所有位置的参数,上述的$#为one two three
- 用$?表示上一次命令的执行返回值,0表示成功,非0的其他值表示失败
<br />判断用户的参数
- 文件测试语句
- 逻辑测试语句
- 整数值比较语句
- 字符串比较语句
注: 所以测试语句的语法格式都是: [ 条件表达式 ] ,条件表达式前后各有一个空格,且条件表达式中的操作数与运算符之间也必须有空格!!!
<br />
文件测试常用的参数
运算符 | 作用 |
---|---|
-d | 测试文件是否为目录类型 |
-e | 测试文件是否存在 |
-f | 判断是否为一般文件 |
-r | 测试当前用户是否有权限读取 |
-w | 测试当前用户是否有权限写入 |
-x | 测试当前用户是否有权限执行 |
eg. #[ -d /etc/fstab ]
<br />
逻辑测试运算符
运算符 | 作用 |
---|---|
&& | 与运算符,左边为True才计算右边 |
|| | 或运算符,左边为False才计算右边 |
! | 非运算符,真假取反 |
eg. #[ -e /dev/cdrom ] && echo "Exist"
<br />
整数比较运算符
运算符 | 作用 |
---|---|
-eq | 是否等于 |
-ne | 是否不等于 |
-gt | 是否大于 |
-lt | 是否小于 |
-le | 是否小于或等于 |
-ge | 是否大于或等于 |
eg. #[ 10 -ge 10 ]
<br />
字符串比较运算符
运算符 | 作用 |
---|---|
= | 比较字符串内容是否相同 |
!= | 比较字符串内容是否不同 |
-z | 判断字符串内容是否为空,或未定义 |
eg. #[ -z $String ]
<br />
流程控制语句
- if语句
- for语句
- while语句
- case语句
<br />if语句语法
单分支
if 条件测试操作; then 命令序列 fi
双分支
if 条件测试操作; then 命令序列 else 命令序列 fi
多分支
if 条件测试操作; then 命令序列 elif 条件测试操作; then 命令序列 else 命令序列 fi
<br />
for语句语法
for 变量名 in 取值列表 do 命令序列 done
<br />
while语句语法
while 条件测试操作 do 命令序列 done
<br />
case语句语法
case 变量值 in 模式1) 命令序列 ;; 模式2) 命令序列 ;; ...... *) 默认命令序列 esac
以上是关于Shell编程基础的主要内容,如果未能解决你的问题,请参考以下文章