Shell等,不等......】的更多相关文章

-eq           //等于 -ne           //不等于 -gt            //大于 (greater ) -lt            //小于  (less) -ge            //大于等于 -le            //小于等于 命令的逻辑关系: 在linux 中 命令执行状态:0 为真,其他为假 逻辑与: &&第一个条件为假时,第二条件不用再判断,最终结果已经有:第一个条件为真时,第二条件必须得判断:逻辑或: ||逻辑非: !…
使用 Linux 系统这么长时间,对 shell 脚本也算是比较熟悉.其实不管是搞开发,还是搞运维,shell 脚本都是必备的基本技能.这次抽时间好好总结一下 shell 方面的知识,综合的再学习一下,记录.这篇文章总结的是 shell 脚本的 if 语句的使用. 一.if 语句的基本语法 if [ 条件判断 ]; then ... ... elif [ 条件判断 ]; then ... ... else ... ... fi 二.文件/目录的判断 关于文件或目录的相关判断方法: [ -e fi…
练习: 1.写一个脚本 判断当前系统上是否有用户的默认shell为bash 如果有,就显示其中一个的用户名:否则,就显示没有这类用户. #!/bin/bash grep "bash$" /etc/passwd &> /dev/null NAME=$? ];then AUSER=`` echo "$AUSER is one of such user!" else echo "no such user~~!!!" fi # grep &…
一.井号 # 1.在脚本文件中对一行进行注释. 2.在引号和\符号后不是注释,只是#号本身: echo "12 # hehe" echo '12 # hehe' echo 12 \# hehe 3.参数替代 echo $(PATH#*:) 4.进制数转换 echo $((16#a));将十六进制数a转换为十进制数表示出来 echo $((5#3));将5进制数3转换为十进制数表示出来 5.模式匹配 echo ${#string};获得变量string所含字符的个数,如果string是个…
shell条件测试可以通过以下两种方式: test   参数    测试内容 [ 参数  测试内容 ] 一.测试文件类型: test  -e   文件名          (测试文件是否存在) [ -e  文件名 ]                测试文件是否存在,注意中括号两边的空格 test -f   文件名             判断是否为普通文件 test -d   文件名            判断是否为目录 test -b   文件名            判断是否为块设备文件 t…
Shell 是一门脚本语言(又称解释型语言),Shell 其实就是一个纯文本文件,通常以[#!/bin/bash]开始.脚本自上而下,从左至右分析并执行,其中[#]后面的为注释.脚本有以下几种运行方式:(1) [bash shell.sh] (2)[sh shell.sh](3)[./shell.sh]当前目录下执行,用户必须有可执行权限 (4)[. ./shell.sh]或[source shell.sh]无执行权限也能执行,[source]一般用于读取配置文件使其立即生效. 第一个 Shel…
基本格式:test expression expression为test命令构造的表达式.这里expression是test命令可以理解的任何有效表达式,该简化格式将是读者可能会踫见的最常用格式返回值:test命令或者返回0(真) 或者返回1(假). test可理解的表达式类型分为四类: 表达式判断 字符串比较 数字比较 文件比较 1)判断表达式 if test  (表达式为真)if test !表达式为假test 表达式1 –a 表达式 2                两个表达式都为真tes…
if用法: if [ ] ;then command; elif [ ] ;then command; else command fi if 参数: shell 编程中使用到得if语句内判断参数 –b 当file存在并且是块文件时返回真 -c 当file存在并且是字符文件时返回真 -d 当pathname存在并且是一个目录时返回真 -e 当pathname指定的文件或目录存在时返回真 -f 当file存在并且是正规文件时返回真 -g 当由pathname指定的文件或目录存在并且设置了SGID位时…
1.字符串判断 str1 = str2 当两个字符串串有相同内容.长度时为真 str1 != str2 当字符串str1和str2不等时为真 -n str1 当字符串的长度大于0时为真(串非空) -z str1 当字符串的长度为0时为真(空串) 2.数字的判断 int1 -eq int2 两数相等为真 int1 -ne int2 两数不等为真 int1 -gt int2 int1大于int2为真 int1 -ge int2 int1大于等于int2为真 int1 -lt int2 int1小于i…
文章转自: http://www.cnblogs.com/maxupeng/archive/2011/07/02/2096551.html 一.test命令 test命令是shell内部命令,它计算作为其参数的表达式是真还是假. 如果表达式为真,则test返回0(注意与C语言0表示false不同),如果表达式为假,返回非0. shell提供了另外一个调用test命令的方式,就是用方括号[]来代替单词test. 调用test命令的格式为: test expr1 opr expr2 或是 [ exp…
转自:http://see.sl088.com/wiki/Shell_%E4%B8%AD%E6%8B%AC%E5%8F%B7 test 和 [] test -z string 判定字串是否為 0 ?若 string 為空字串,則為 truetest -n string 判定字串是否非為 0 ?若 string 為空字串,則為 false.註: -n 亦可省略test str1 = str2 判定 str1 是否等於 str2 ,若相等,則回傳 truetest str1 != str2 判定 s…
if [ str1 = str2 ]  当两个串有相同内容.长度时为真 if [ str1 != str2 ] 当串str1和str2不等时为真 if [ -n str1 ] 当串的长度大于0时为真(串非空) if [ -z str1 ] 当串的长度为0时为真(空串) if [ str1 ] 当串str1为非空时为真 shell 中利用 -n 来判定字符串非空. 错误用法: ARGS=$* if [ -n $ARGS  ] then print "with argument" fi p…
条件测试 格式 test condition 或 [ condition ] 使用方括号时,要注意在条件两边加上空格,如果有操作符,运算符之间也必须有空格 测试状态:测试的结果可以用$?的值来判断,0表示成功,其他为失败 --文件状态测试 -d 判断目录是否存在 -f 正规文件(是不是普通文件) -L 符号链接 -r 可读 -s 文件长度大于0.非空 -w 可写 -u 文件有suid位设置 -x 可执行 --逻辑测试 -a 逻辑与,操作符两边均为真,结果为真,否则为假 -o 逻辑或,操作符两边一…
1 输出重定向:ll > aaa 将输出内容 添加到aaa文件中 ll >> aaa将输出内容追加到aaa中 ll &>> abc 将输出内容不论正确或错误都保存在aaa中 ll &> aaa 将输出内容不论正确或者错误都追加保存在aaa中 ll >> aaa 2>>bbb 正确输出保存在aaa文件中,错误输出保存在bbb中 2 多命令顺序执行 命令1;命令2 执行完命令1后执行命令2 :命令1的结果对命令2 没有影响 命令1&a…
本文参考自 http://www.cnblogs.com/zhuyp1015/archive/2012/07/11/2586985.html awk:好用的数据处理工具 awk 也是一个非常棒的数据处理工具!sed 常常用于一整个行的处理, awk 则比较倾向于一行当中分成数个『栏位』(或者称为一个域,也就是一列)来处理.因此,awk 相当的适合处理小型的数据数据处理呢!awk 通常运行的模式是这样的: [root@www ~]# awk '条件类型1{动作1}  条件类型2{动作2} ...'…
 shell的if判断 2012-03-16 14:53:05 分类: Python/Ruby   1 概要 有时候你需要指定shell脚本中的依靠命令的成功与否来实施不同过程的行为. if 结构允许你来指定这样的条件. 最精简的 if 命令的语法是: if TEST-COMMANDS; then CONSEQUENT-COMMANDS; fi TEST-COMMAND 执行后且它的返回状态是0,那么 CONSEQUENT-COMMANDS 就执行.返回状态是最后一个命令的退出状态,或者当没有条…
转自:http://m.jb51.net/article/56553.htm 这篇文章主要介绍了Shell脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结,需要的朋友可以参考下 前言:      无论什么编程语言都离不开条件判断.SHELL也不例外.       if list then           do something here       elif list then           do another thing here  …
刚接触Linux时,对shell总有种神秘感:在对shell的工作原理有所了解之后,便尝试着动手写一个shell.下面是一个从最简单的情况开始,一步步完成一个模拟的shell(我命名之为wshell)的过程.这个所谓的shell和主流的shell还是有不少区别的,最大的区别是它本身不能执行shell脚本.也不能对一些复杂的命令行进行分析——原因很简单,我没有写相应的解释器.如果想自己实现一个简化的shell脚本解释器,如果有编译原理的知识准备,本身不是难事,但是工作量比较大,这里就不完成了,有兴…
本文涉及的命令:test.[].shift.if.case.for.while.until.function.sh. 撰写 shell script 的良好习惯 在每个 script 的文件头处记录好: script 的功能: script 的版本信息: script 的作者与联绚方式: script 的版权宣告方式: script 的 History (历叱纪录): script 内较特殊的指令,使用『绛对路径』的方式来下达: script 运作时需要的环境变量预先宣告与设定 变量替换(赋值)…
1  shell 的$! ,$?, $$,$@ $n        $1 the first parameter,$2 the second... $#        The number of command-line parameters. $0        The name of current program. $?        Last command or function's return value. $$        The program's PID. $!     …
Shell脚本中判断输入参数个数的方法 投稿:junjie 字体:[增加 减小] 类型:转载   这篇文章主要介绍了Shell脚本中判断输入参数个数的方法,使用内置变量$#即可实现判断输入了多少个参数,需要的朋友可以参考下   $#代表了命令行的参数数量,可以看以下实例: 复制代码 代码如下: if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_CALL_20040701" exit…
转自shell十三问:  http://bbs.chinaunix.net/thread-218853-1-1.html …… 假設我們定義了一個變量為:file=/dir1/dir2/dir3/my.file.txt我們可以用 ${ } 分別替換獲得不同的值:${file#*/}:拿掉第一條 / 及其左邊的字串:dir1/dir2/dir3/my.file.txt${file##*/}:拿掉最後一條 / 及其左邊的字串:my.file.txt${file#*.}:拿掉第一個 .  及其左邊的字…
一.前言 结构化编程中,主要有三种结构:顺序.分支.循环.由此可见分支判断的重要性. 而且在shell编程中往往会遇到进行判断的情况,比如:判断文件是否存在.目录是否存在等等. 二.if语句的结构 if [ 条件 ]; then ... elif [ 条件 ];then ... else ... fi 三.shell中的分支判断 shell中的判断有以下几种: 1.字符串判断 str1 = str2 当两个串有相同内容时为真 str1 != str2 当两个串内容不同时为真 -n str1 当串…
-b file 若文件存在且是一个块特殊文件,则为真 -c file 若文件存在且是一个字符特殊文件,则为真 -d file 若文件存在且是一个目录,则为真 -e file 若文件存在,则为真 -f file 若文件存在且是一个规则文件,则为真 -g file 若文件存在且设置了SGID位的值,则为真 -h file 若文件存在且为一个符合链接,则为真 -k file 若文件存在且设置了"sticky"位的值 -p file 若文件存在且为一已命名管道,则为真 -r file 若文件存…
[1]shell脚本 1--- shell命令 2--- 控制语句(新的语法) (Shell命令的有序集合) [2]创建shell脚本文件 1--- 1.sh 2--- chmod 777 1.sh 3--- 执行 rw- rw- r--110 110 1006 6 4 rwx rwx rwx111 111 1117 7 7 [3]变量 1--- 用户自定义变量 1. 没有数据类型 2. 赋值时=两边没有空格 3. $提取变量里的内容 2--- 位置变量 $0 ... $9 //依次代表命令行参…
conditional expressions are used by the [[ compound command and the test and [ builtin commands. arithmetic expression 共有三个 [[,test,[ Shell中[和[[的异同 test判断方式: [ ] 不支持Shell中提供的各种通配符状态判断的方式:[[ expr ]],和test不同的是,该方式中的表达式支持通配符,在[[ expression ]]中,expressio…
if [ $# != 1 ] ; then echo "USAGE: $0 TABNAME" echo " e.g.: $0 CDR_CALL_20040701" exit 1; fi 位置参数 $1, $2,..., $N,$#代表了命令行的参数数量, $0代表了脚本的名字 -ne    不等于 ----------------------- shell 编程中使用到得if语句内判断参数 –b 当file存在并且是块文件时返回真 -c 当file存在并且是字符文件…
1.shell算术运算 1)加法 r=`expr 4 + 5`(注意! '4' '+' '5' 这三者之间要有空白) r=$[ 4 + 5 ] r=$(( 4 + 5 )) echo $r 2)乘法 r=`expr 4 \* 5` r=$(( 4 * 5 )) r=$[ 4 * 5 ] echo $r 3)除法 r=`expr 40 / 5` r=$(( 40 / 5 )) r=$[ 40 / 5 ] echo $r 4)减法 r=`expr 40 - 5` r=$(( 40 - 5 )) r=…
http://blog.chinaunix.net/uid/21411227/cid-63616-list-1.html 1.判断文件类型   –b 当file存在并且是块文件时返回真 -c 当file存在并且是字符文件时返回真 -d 当pathname存在并且是一个目录时返回真 -e 当pathname指定的文件或目录存在时返回真 -f 当file存在并且是正规文件时返回真 -g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真 -h 当file存在并且是符号链接文件时返…
1  shell 的$! ,$?, $$,$@ $n        $1 the first parameter,$2 the second... $#        The number of command-line parameters. $0        The name of current program. $?        Last command or function's return value. $$        The program's PID. $!     …