shell if 使用

简介:
写 shell 使用 if  留个文
说明:
   下面可学习到 
       1. 当 sh 文件接受到 2个,1个,或无参数时 解决办法(注意 $1 要 "$1" 这样使用 )
       2. sh 中 参数赋值 _var = $(...)
       3. 取得当前时间   $(date  + %Y - %m - %d ) 前天时间  $(date -d '-1 day' +%Y-%m-%d)
if  [  - n "$ 2"  ] ; then
     mydate
= $ 1
     _copyright
=/ data / ftp_share / copyright / $ 2 - copyright . 000
     _walkman
=/ data / ftp_share / copyright / $ 2 - walkman . 000
     _fullsong
=/ data / ftp_share / copyright / $ 2 - fullsong . 000
     _shaker
=/ data / ftp_share / copyright / $ 2 - shaker . 000
     _color
=/ data / ftp_share / copyright / $ 2 - color . 000
elif  [ 
- n "$ 1"  ]  ;then
  mydate
= $ 1
  _copyright
= $(python findIncBizDataFile . py copyright $ 1 )
 _walkman
= $(python findIncBizDataFile . py  walkman $ 1 )
 _fullsong
= $(python findIncBizDataFile . py  fullsong $ 1 )
 _shaker
= $(python findIncBizDataFile . py  shaker $ 1 )
 _color
= $(python findIncBizDataFile . py  color $ 1 )    
else     
  
# ydate=$(date -d '-1 day' +%Y-%m-%d)
  mydate = $(date  + %Y - %m - %d )
  _copyright
= $(python findIncBizDataFile . py copyright)
 _walkman
= $(python findIncBizDataFile . py walkman)
 _fullsong
= $(python findIncBizDataFile . py fullsong)
 _shaker
= $(python findIncBizDataFile . py shaker)
 _color
= $(python findIncBizDataFile . py color)
fi;
if 参数说明 
  • –b 当file存在并且是块文件时返回真
  • -c 当file存在并且是字符文件时返回真
  • -d 当pathname存在并且是一个目录时返回真
  • -e 当pathname指定的文件或目录存在时返回真
  • -f 当file存在并且是正规文件时返回真
  • -g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真
  • -h 当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效
  • -k 当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真
  • -p 当file存在并且是命令管道时返回为真
  • -r 当由pathname指定的文件或目录存在并且可读时返回为真
  • -s 当file存在文件大小大于0时返回真
  • -u 当由pathname指定的文件或目录存在并且设置了SUID位时返回真
  • -w 当由pathname指定的文件或目录存在并且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。
  • -o 当由pathname指定的文件或目录存在并且被子当前进程的有效用户ID所指定的用户拥有时返回真。

UNIX Shell 里面比较字符写法:

  • -eq   等于
  • -ne    不等于
  • -gt    大于
  • -lt    小于
  • -le    小于等于
  • -ge   大于等于
  • -z    空串
  • =     两个字符相等
  • !=    两个字符不等
  • -n    非空串
在这有个比较郁闷的地方 ( sunnycare指正,问题经过修改
  有那个 能帮我下 if and 使用 
比如:
if  [  - z ]  &&  [  - z ]; then echo  11 else  echo  22 ; fi;
结果 
11  (正确)

if  [  - 1  ]  &&  [  - n ]; then echo  11 else  echo  22 ; fi;
结果 
11  (错误)
这是 不能理解的 地方,

if  [  - 1  ]  &&  [  - ''  ]; then echo  11 else  echo  22 ; fi;

if  [  - 1  ]  &&  [  - ""  ]; then echo  11 else  echo  22 ; fi;
结果 
22  (正确)
本文转自博客园刘凯毅的博客,原文链接:shell if 使用,如需转载请自行联系原博主。

目录
相关文章
|
4月前
|
Shell
在Shell脚本中的if语句
在Shell脚本中的if语句
42 1
|
6月前
|
Shell 分布式数据库
shell脚本中if判断‘-a‘ - ‘-z‘含义
shell脚本中if判断‘-a‘ - ‘-z‘含义
|
2月前
|
Shell
在Shell脚本中,使用`if`语句进行复杂的条件判断
在Shell脚本中,使用`if`语句进行复杂的条件判断
35 2
|
3月前
|
存储 Shell
Shell编程自动化之if、for、while和函数
本文主要介绍了Shell编程自动化之if、for、while和函数,并结合实例测试。
27 3
|
8月前
|
应用服务中间件 Shell nginx
shell利用cat与if比较实现nginx启停
shell利用cat与if比较实现nginx启停
76 0
|
8月前
|
存储 Java Shell
shell&流程控制语句if
shell 流程控制语句if
|
8月前
|
运维 Shell 应用服务中间件
【运维知识高级篇】超详细的Shell编程讲解3(if判断+Shell菜单+case流程判断+批量创建删除用户+猜数字小游戏)
【运维知识高级篇】超详细的Shell编程讲解3(if判断+Shell菜单+case流程判断+批量创建删除用户+猜数字小游戏)
115 1
|
8月前
|
Shell
Shell if else 条件判断
Shell if else 条件判断
44 0
|
9月前
|
监控 关系型数据库 MySQL
Shell脚本:if条件语句的了解与使用
Shell脚本:if条件语句的了解与使用
84 1
|
10月前
|
Shell Perl
【Shell编程】Shell中的流程控制之if语句
【Shell编程】Shell中的流程控制之if语句
86 0