当前位置: > shell编程 >

linux shell 编程 3(if then else fi 字符串空的判断)

时间:2016-06-12 23:34来源:linux.it.net.cn 作者:IT

文章只要是 简单介绍 if 的用法 以及其中涉及到的  /dev/null  无底洞和   2 >&1  的介绍

1、 

 

[plain] view plain copy
 
 print?
  1. #!/bin/sh  
  2. #name : test linux shell  
  3. # 标准输入,获取从键盘输入的数据  
  4. read  name       
  5.   
  6. # 判断是否为空还可以使用 -z $name 如果成立则空  
  7.   
  8. # -s $name  判断不为空    
  9. if [ "$name" ="" ]  
  10. then  
  11. echo  "name is null "  
  12. else  
  13. echo   "name value is   $name"  
  14. fi  

2、

 

 

[plain] view plain copy
 
 print?
  1. #  判断获取的数值的大小  
  2. #!/bin/sh  
  3. #name : test linux shell  
  4. read  name  
  5. if [ "$name" -le 6 ]  
  6. then  
  7. echo  "value   $name  less than 6 "  
  8. else  
  9. echo   "value  $name  greater  than 6 "  
  10. fi  

 

3、

 

[plain] view plain copy
 
 print?
  1. #  检测 grep 结果,判断这个要找的是否在结果中  
  2. #!/bin/sh  
  3. #name : test linux shell  
  4. if  grep 'linux'  Tlinux.sh  > /dev/null 2>&1  
  5. then  
  6. echo  "  linux   in  tlinux.sh  "  
  7. else  
  8. echo   "   linux  not in tlinux l.sh "  
  9. fi  

4、

 

 

[plain] view plain copy
 
 print?
  1. #  文件的拷贝判断  
  2. #!/bin/sh  
  3. #name : test linux shell  
  4. if  cp  tests tests12.sh >/dev/null  
  5. then  
  6. echo "good copy"  
  7. else  
  8. echo   " `basename $0`: erroe "  
  9. fi  

 

*************************/dev/null *******************

可以把/dev/null看作一个"黑洞",它非常等价于一个只写文件,所有写入它的内容都会永远丢失。

而尝试从它那儿读取内容则什么也读不到然而, /dev/null对命令行和脚本都非常的有用。

1、禁止标准输出

cat $filename >/dev/null
# 文件内容丢失,而不会输出到标准输出.

2、禁止标准错误

rm $badname 2>/dev/null
# 这样错误信息[标准错误]就被丢到太平洋去了.

3、禁止标准输出和标准错误的输出.

cat $filename 2>/dev/null >/dev/null

4、清除日志文件内容

cat /dev/null > /var/log/messages
# : > /var/log/messages 有同样的效果, 但不会产生新的进程.(因为:是内建的)

 

*********************   2>&1   **********************

这儿命令是由三部分组成的,2 、>& 、1 这三部分组成,其中的1,2,以及以后会看到的 0 表示的是他们的输出输入方式,其中0 表示标准输入, 1 标准输出 、2 、表示标准错误输出 而  >& 表示把符号左边的内容以符号右边的形式输出

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容