码迷,mamicode.com
首页 > 系统相关 > 详细

linux shell脚本常用语句

时间:2016-09-22 12:49:19      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

 

linux shell 指令 诸如-d, -f, -e之类的判断表达式

文件比较运算符
-e filename  如果 filename存在,则为真  [ -e /var/log/syslog ]
-d filename  如果 filename为目录,则为真  [ -d /tmp/mydir ]
-f filename  如果 filename为常规文件,则为真  [ -f /usr/bin/grep ]
-L filename  如果 filename为符号链接,则为真  [ -L /usr/bin/grep ]
-r filename  如果 filename可读,则为真  [ -r /var/log/syslog ]
-w filename  如果 filename可写,则为真  [ -w /var/mytmp.txt ]
-x filename  如果 filename可执行,则为真  [ -L /usr/bin/grep ]
filename1-nt filename2  如果 filename1比 filename2新,则为真  [ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2  如果 filename1比 filename2旧,则为真  [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string  如果 string长度为零,则为真  [ -z "$myvar" ]
-n string  如果 string长度非零,则为真  [ -n "$myvar" ]
string1= string2  如果 string1与 string2相同,则为真  [ "$myvar" = "one two three" ]
string1!= string2  如果 string1与 string2不同,则为真  [ "$myvar" != "one two three" ]
算术比较运算符
num1-eq num2  等于 [ 3 -eq $mynum ]
num1-ne num2  不等于 [ 3 -ne $mynum ]
num1-lt num2  小于 [ 3 -lt $mynum ]
num1-le num2  小于或等于 [ 3 -le $mynum ]
num1-gt num2  大于 [ 3 -gt $mynum ]
num1-ge num2  大于或等于 [ 3 -ge $mynum ]

 参考:http://blog.csdn.net/sxzlc/article/details/7542603
 
 
 

linux shell case语句 :

case语句适用于需要进行多重分支的应用情况。

        case分支语句的格式如下:

            case $变量名 in

                模式1

            命令序列1

                ;;

                模式2

            命令序列2

                        ;; 

                *)

            默认执行的命令序列     ;; 

            esac 

        case语句结构特点如下:

        case行尾必须为单词“in”,每一个模式必须以右括号“)”结束。

        双分号“;;”表示命令序列结束。

        匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或。

        最后的“*)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后

    的命令序列。

例如:

 1   case "$1" in                                  //判断$1                                
 2     *.sh)                                                           //如果是.sh文件,那么执行这一个            
 3         # Source shell script for speed.                                        
 4         (                                                                       
 5             trap - INT QUIT TSTP                                                
 6             scriptname=$1                                                       
 7             shift                                                               
 8             . $scriptname                                                       
 9         )                                                                       
10         ;;                                                                      
11     *)                                                         //如果不是.sh那么执行这个默认的                 
12         "$@"                                                                    
13         ;;                                                                      
14   esac                                                                          

 

参考来源:http://blog.csdn.net/dreamtdp/article/details/8048720

 

 

linux shell   参数:

$1 表示第一个参数。

$2 表示第二个参数。

$3 表示第三个参数。

$@ 表示所有的参数,这个是数组的方式表示所有的参数。

$# 表示参数的个数。

$* 也可以表示所有的参数。

 

linux shell脚本常用语句

标签:

原文地址:http://www.cnblogs.com/chenfulin5/p/5895594.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!