shell 中的操作符】的更多相关文章

1.算术操作符 2.关系操作符 3.布尔操作符 4.字符串操作符 5.文件相关操作符 算术操作符 bash shell 没有提供任何机制来执行简单的算术运算,不过我们可以借助于一些其他程序,如 expr #!/bin/sh val=`expr 2 + 2` echo "Total value : $val" 注意:在操作符与表达式之间必须有空格,整个表达式应该用反引号括起来. 其他可用算术操作符: +:`expr 10 + 20` -:`expr 10 - 20` *: `expr 1…
1.管道 "|" ls | cat -n > out.txt 2. 子shell 2.1 子shell 说明 在shell脚本中可以用()操作符可以定义一个子shell #/bin/bash pwd (cd / ; ls) pwd 执行结果…
shell中的赋值和操作默认都是字符串处理,在此记下shell中进行数学运算的几个特殊方法,以后用到的时候可以来看,呵呵.   1.错误方法举例   a)   var=1+1   echo $var   输出的结果是1+1,悲剧,呵呵      b)   var=1   var=$var+1   echo $var   输出结果是1+1,依然悲剧,呵呵      2.正确方法   1)使用let   var=1   let "var+=1"   echo $var   输出结果为2,这…
shell中截取字符串的方法有很多种, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} 上面4种可以用来进行缺省值的替换. ${#parameter} 上面这种可以获得字符串的长度. ${parameter%word} 最小限度从后面截取word ${parameter%%word} 最大限度从后面截取word ${parameter#word}…
shell中要进行数学运算通常有3中方法: expr命令 比如 expr 1 + 6就会返回7,使用expr的缺点就是碰到乘法运算,或者加括号(因为它们在shell中有其他意义),需要使用转义,比如:expr \( 2 + 3\)  \* 5,这样就会使得表达式很难看 $[expression]命令 使用$[expression]命令也可以进行数学计算,并且比expr方便的是*和括号可以不用转义,比如仍然计算(2 + 3) * 5,可以直接写为: result=$[ (2 + 3) * 5 ]…
SHELL中的特殊变量和结构 表格 B-1. 特殊的shell变量 变量 含义 $0 脚本名字 $1 位置参数 #1 $2 - $9 位置参数 #2 - #9 ${10} 位置参数 #10 $# 位置参数的个数 "$*" 所有的位置参数(作为单个字符串) * "$@" 所有的位置参数(每个都作为独立的字符串) ${#*} 传递到脚本中的命令行参数的个数 ${#@} 传递到脚本中的命令行参数的个数 $? 返回值,显示最后命令的退出状态.0表示没有错误,其他任何值表明有…
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo "No code, just some comments." # ### 通配符 # * 代表任意(0个或多个)字符 # ? 代表任意1个字符 # [abc] 匹配括号中任意一个字符 # [!abc] 不匹配括号中任意一个字符,等价于[^abc] # [a-z] 匹配括号中字符范围内的任意一个字符 # {a,…
test可用于测试表达式,支持测试的范围包括:字符串比较,算术比较,文件存在性.属性.类型等判断.例如,判断文件是否为空.文件是否存在.是否是目录.变量是否大于5.字符串是否等于"longshuai".字符串是否为空等等.在shell中,几乎所有的判断都使用test实现. 其中[]完全等价于test,只是写法不同.双中括号[[]]基本等价于[],它支持更多的条件表达式,还允许在双中括号内使用逻辑运算符"&&"."||"."…
示例脚本及注释 #!/bin/bash echo "No code, just some comments." # ### 通配符 # * 代表任意(0个或多个)字符 # ? 代表任意1个字符 # [abc] 匹配括号中任意一个字符 # [!abc] 不匹配括号中任意一个字符,等价于[^abc] # [a-z] 匹配括号中字符范围内的任意一个字符 # {a,b,c} 生成序列,以逗号分隔,且不能有空格 # {a..z} 生成指定范围的序列 # ### 参数变量 # $0 当前shell…
shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢? 这确实是一个困扰很久的一个问题? how it can be an issue? 事实上, 在shell中, 你可以认为存在数据类型, 只有三种, 即: 整数变量, 字符串变量, 文件变量. 也可以认为, 不存在数据类型, shell在 定义变量的时候, 总是 "默认"的把变量 认为是 字符串. 那关键就在于: 你是如何使用, 如何操作 shell变量的, 根据你的操作,你的 命令, 你的操作符 来决定该s…