linux中shell条件表达式总结

1.字符串比较
! 取反
-n str     字符串 str 是否不为空
-z str     字符串 str 是否为空
str1  = str2     str1是否与 str2 相同
str1 != str2     str1是否与 str2 不同
2.数值大小比较
int1 -eq int2     等于
int1 -le  int2     小于等于
int1 -ge int2     大于等于
int1 -lt   int2     小于
int1 -gt  int2     大于
int1 -ne int2     不等于
3.文件属性判断
-b     是否块文件
-c     是否字符文件
-d     是否一个目录
-e     文件是否存在
-f     是否普通文件
-g     是否设置了文件的 SGID 位
-G     文件归本组所有
-h     是否符号连接与-L相同
-k     文件是否设置了的粘贴位
-O     是否为本用户所有
-p     文件是否为一个命名管道
-r     文件是否可读
-s     文件的长度是否不为零
-S     是否为套接字文件
-t fd     fd 是否在一个终端打开
-u     是否设置了文件的 SUID 位
-w     文件是否可写
-x     文件是否可执行
4.文件关系比较
expr1 -a expr2     如果 expr1 和 expr2 为真,则为真
expr1 -o expr2     如果 expr1 或 expr2 为真,则为真
file1 -ef file2     file1和file2有同样的inode号
file1 -nt file2     file1比file2新
file1 -ot file2     file1比file2老

原贴地址:http://blog.csdn.net/trochiluses/article/details/8933958

时间: 2024-10-13 22:28:41

linux中shell条件表达式总结的相关文章

linux中shell条件判断if中的-a到-z的意思

shell if判断中常用的也就是绿色部分,尾部部分越看越不懂.从百度文库转载. [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ -d FILE ] 如果 FILE 存在且是一个目录则为真. [ -e FILE ] 如果 FILE 存在则为真. [ -f FILE ] 如果 FILE 存在且是一个普通文件则为真. [ -g FILE ] 如果

linux中shell下test [ ] 条件表达式使用详解

test 条件表达式说明 文件符号: [root@LAMP test]# help test test: test [expr]     Evaluate conditional expression.     Exits with a status of 0 (true) or 1 (false) depending on     the evaluation of EXPR.  Expressions may be unary or binary.  Unary     expression

应用-Linux中shell脚本问题

问题描述 Linux中shell脚本问题 ]我有shell脚本,放在/bin/目录下,内容如下: #!/bin/sh cd /usr /sbin/insmod s3c_ts.ko ./digitpic ./MSYH.TTF & 当我开发板上电以后我手动执行手动执行test.sh 我的digitpic应用程序能够正常启动 当我在/etc/init.d/rcS 文本里面最后添加exec test.sh 提示说这个触摸屏读取错误,也就是/sbin/insmod s3c_ts.ko这部分错误了,就只有触

linux中shell变量$#,$@,$0,$1,$2的含义解释

比如脚本名称叫start.sh 输入参数三个: 1 2 3 运行test.sh 1 2 3后 $*为"1 2 3"(一起被引号包住) $@为"1" "2" "3"(分别被包住) $#为3(参数数量) linux中shell变量$#,$@,$0,$1,$2的含义解释:  变量说明:  $$  Shell本身的PID(ProcessID)  $!  Shell最后运行的后台Process的PID  $?  最后运行的命令的结束代码

linux中shell test 条件表达式说明

条件表达式("CONDITIONAL EXPRESSIONS") 条件表达式用于 [[ 复合命令以及内建命令 test 和 [ 中,用来测试文件属性,进行字符串和算术比较.表达式使用下面的单目或二进制操作构造.如果某操作的任何 file 参数的形式是 文件符号: 在info bash里的第"6.4 Bash Conditional Expressions"节里开头有一句话说明了shell条件判断的二个机制: Conditional expressions are u

linux中shell脚本实现下载完关机_linux shell

用mint 有一段时间了,下载基本用firefox,有时下载几个G的游戏.可是firefox没有找到下载完关机的选择.处于这个原因,写了这个. download_shutdown.sh #!/bin/bash # Created By: Demo <demo@demo.com> # Created Time: 2015-01-30 12:36:44 # Modified Time: 2015-01-30 12:54:21 dir=$1 while [ "1" ] do if

linux中shell脚本之变量类型、算数运算符、条件测试

一.bash中的变量类型 本地变量:仅对当前shell有效,对其子shell无效 变量赋值:name=value name=$user name=`Command` ,name=$(Command):这里需要注意的是" 和 $()的意义是不同的. 从下图可以总结如下:如果将命令的执行结果赋值给一个参数时,且包含多对反引号嵌套的时候,最好外层用$() #!/bin/bash # Sum=$(echo `seq $1 $2` | tr " " "+" | bc

linux中shell命令test用法和举例

test 命令期望在命令行中找到一个参数,当 shell 没有为变量赋值时,则将该变量视为空.这意味着在处理脚本时,一旦脚本寻找的参数不存在,则 test 将报告该错误. 当试图保护脚本时,您可以通过将所有参数包含在双引号中来解决这个问题.然后 shell 将变量展开,如果变量没有值,那么将传递一个空值给 test.另一种方法是在脚本内增加一个额外检查过程来判断是否设置了命令行参数.如果没有设置命令行参数,那么脚本会告诉用户缺少参数,然后退出.我们会通过一些例子来更具体地说明所有这些内容. te

linux中Shell命令用法入门教程

什么时候使用Shell 因为Shell似乎是各UNIX系统之间通用的功能,并且经过了POSIX的标准化.因此,Shell脚本只要"用心写"一次,即可应用到很多系统上.因此,之所以要使用Shell脚本是基于:     简单性:Shell是一个高级语言:通过它,你可以简洁地表达复杂的操作.     可移植性:使用POSIX所定义的功能,可以做到脚本无须修改就可在不同的系统上执行.     开发容易:可以在短时间内完成一个功能强大又妤用的脚本. 但是,考虑到Shell脚本的命令限制和效率问题