linux shell 操作符,语法,变量
来源:互联网 发布:jenkins 创建数据库 编辑:程序博客网 时间:2024/05/16 15:21
二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别.
整数比较
-eq 等于,如:if [ "$a" -eq "$b" ]
-ne 不等于,如:if [ "$a" -ne "$b" ]
-gt 大于,如:if [ "$a" -gt "$b" ]
-ge 大于等于,如:if [ "$a" -ge "$b" ]
-lt 小于,如:if [ "$a" -lt "$b" ]
-le 小于等于,如:if [ "$a" -le "$b" ]
< 小于(需要双括号),如:(("$a" < "$b"))
<= 小于等于(需要双括号),如:(("$a" <= "$b"))
> 大于(需要双括号),如:(("$a" > "$b"))
>= 大于等于(需要双括号),如:(("$a" >= "$b"))
字符串比较
= 等于,如:if [ "$a" = "$b" ]
== 等于,如:if [ "$a" == "$b" ],与=等价
注意:==的功能在[[]]和[]中的行为是不同的,如下:
1 [[ $a == z* ]] # 如果$a以"z"开头(模式匹配)那么将为true
2 [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true
3
4 [ $a == z* ] # File globbing 和word splitting将会发生
5 [ "$a" == "z*" ] # 如果$a等于z*(字符匹配),那么结果为true
一点解释,关于File globbing是一种关于文件的速记法,比如"*.c"就是,再如~也是.
但是file globbing并不是严格的正则表达式,虽然绝大多数情况下结构比较像.
!= 不等于,如:if [ "$a" != "$b" ]
这个操作符将在[[]]结构中使用模式匹配.
< 小于,在ASCII字母顺序下.如:
if [[ "$a" < "$b" ]]
if [ "$a" /< "$b" ]
注意:在[]结构中"<"需要被转义.
> 大于,在ASCII字母顺序下.如:
if [[ "$a" > "$b" ]]
if [ "$a" /> "$b" ]
注意:在[]结构中">"需要被转义.
具体参考Example 26-11来查看这个操作符应用的例子.
-z 字符串为"null".就是长度为0.
-n 字符串不为"null"
注意:
使用-n在[]结构中测试必须要用""把变量引起来.使用一个未被""的字符串来使用! -z
或者就是未用""引用的字符串本身,放到[]结构中。虽然一般情况下可
以工作,但这是不安全的.习惯于使用""来测试字符串是一种好习惯.
语法:
条件判断if
if[ condition ];then
elif [condition]
else
fi
条件判断case
case string1 in
str1)
command1;;
str2)
command2;;
*)
command3;;
esac
循环while
while []
do
commands
done
循环for
for i in 0 1 2 3 4 5 6 7 8 9
do
commands
done
预定义变量
$# 位置参数的数量。
$* 所有位置参数的内容。
$? 命令执行后返回的状态。
$$ 当前进程的进程号。
$! 后台运行的最后一个进程号。
$0 当前执行的进程名。
$1 2 3 4 5 6 7 8 9 第n个参数的值
- linux shell 操作符,语法,变量
- linux 基础-变量,shell基本语法
- Linux shell 系统默认变量($#,$0....)与操作符小结
- shell语法-变量
- shell语法-变量
- Linux Shell 变量操作(删除、替换)
- linux-shell高级编程-操作变量串
- Linux Shell编程语法(变量及其赋值)
- Linux Shell编程语法(变量及其赋值)
- Linux Shell编程语法(变量及其赋值)
- Linux shell变量功能和Bash shell的操作环境
- Shell 编程 语法 变量 函数
- Shell 变量相关操作
- shell高级变量操作
- linux基本操作---shell脚本-变量、表达式、日期
- linux shell 语法详解
- linux shell awk 语法
- linux shell awk 语法
- 数据库设计之概念结构设计---------E-R图详解
- ccproxy如何设置
- AIX Toolbox for Linux Applications
- linux 没有itoa
- Android Testcase
- linux shell 操作符,语法,变量
- android 监听方向变化
- [html]用div+table做方格
- android中的View组件
- 语音学(Phonetics)说明
- PopupWindow的使用以及ArrayAdatper.notifyDataSetChanged()无效详解
- C++ 英雄联盟挑战赛 24点游戏
- Thawte代码签名证书操作指南
- 使用wifi连接eclipse进行程序调试