shell 中目录切换、逻辑判断

在shell脚本中经常进行目录切换,以下命令就非常有用:
获取shell当前进入的目录:OLD_DIR=`pwd`  该目录不一定是shell脚本所在的目录

而如果需要获取脚本所在的目录,可通过以下语句得到
进入shell脚本所在的目录:cd `dirname $0`;CUR_DIR=`pwd`;CUR_DIR=`pwd`/`dirname $0`

 

在目录中列出所有文件,解压

cd $CUR_DIR

for filetarname in `ls *.tar.gz`
do
 tar -zxvf $filetarname
 log "tar -zxvf $filetarname SUCCESS!"
done

 

 -a FILE ]  如果 FILE 存在则为真。  

[ -b  FILE  ]  如果  FILE  存在且是一个块特殊文件则为真。  
[ -c  FILE  ]  如果  FILE  存在且是一个字特殊文件则为真。  
[ -d  FILE  ]  如果  FILE  存在且是一个目录则为真。  
[ -e  FILE  ]  如果  FILE  存在则为真。  
[ -f  FILE  ]  如果  FILE  存在且是一个普通文件则为真。  
[ -g  FILE  ]  如果  FILE  存在且已经设置了SGID则为真。  
[ -h  FILE  ]  如果  FILE  存在且是一个符号连接则为真。  
[ -k  FILE  ]  如果  FILE  存在且已经设置了粘制位则为真。  
[ -p  FILE  ]  如果  FILE  存在且是一个名字管道(F如果O)则为真。  
[ -r  FILE  ]  如果  FILE  存在且是可读的则为真。  
[ -s  FILE  ]  如果  FILE  存在且大小不为 0 则为真。  
[ -t FD ]  如果文件描述符 FD 打开且指向一个终端则为真。  
[ -u  FILE  ]  如果  FILE  存在且设置了SUID ( set  user ID)则为真。  
[ -w  FILE  ]  如果  FILE  如果  FILE  存在且是可写的则为真。  
[ -x  FILE  ]  如果  FILE  存在且是可执行的则为真。  
[ -O  FILE  ]  如果  FILE  存在且属有效用户ID则为真。  
[ -G  FILE  ]  如果  FILE  存在且属有效用户组则为真。  
[ -L  FILE  ]  如果  FILE  存在且是一个符号连接则为真。  
[ -N  FILE  ]  如果  FILE  存在  and  has been  mod 如果ied since it was last read则为真。  
[ -S  FILE  ]  如果  FILE  存在且是一个套接字则为真。  
[ FILE1 -nt FILE2 ]  如果 FILE1 has been changed more recently than FILE2,  or  如果 FILE1 exists  and  FILE2 does  not 则为真。  
[ FILE1 -ot FILE2 ]  如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在则为真。  
[ FILE1 -ef FILE2 ]  如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。  
[ -o OPTIONNAME ]  如果 shell选项 “OPTIONNAME” 开启则为真。  
[ -z  STRING  ]  “ STRING ” 的长度为零则为真。  
[ -n  STRING  or  STRING  ]  “ STRING ” 的长度为非零 non-zero则为真。  
[ STRING1 == STRING2 ]  如果 2 个字符串相同。 “=” may be used instead  of  “==”  for  strict POSIX compliance则为真。  
[ STRING1 != STRING2 ]  如果字符串不相等则为真。 
[ STRING1 < STRING2 ]  如果 “STRING1” sorts before “STRING2” lexicographically  in  the current locale则为真。  
[ STRING1 > STRING2 ]  如果 “STRING1” sorts after “STRING2” lexicographically  in  the current locale则为真。  
[ ARG1 OP ARG2 ] “OP”  is  one  of  -eq, -ne, -lt, -le, -gt  or  -ge. These arithmetic binary operators return  true  if  “ARG1”  is  equal  to not  equal  to , less than, less than  or  equal  to , greater than,  or  greater than  or  equal  to  “ARG2”, respectively. “ARG1”  and  “ARG2” are integers. 


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/aaaaatiger/archive/2007/07/28/1713611.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值