博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell 脚本常用参数
阅读量:5985 次
发布时间:2019-06-20

本文共 1663 字,大约阅读时间需要 5 分钟。

$# 表示提供到或者函数的参数总数;

$1 表示第一个参数。
-ne 表示 不等于
另外:
整数比较
-eq 等于,如:if ["$a" -eq "$b" ]
-ne 不等于,如:if ["$a" -ne "$b" ]
-gt 大于,如:if ["$a" -gt "$b" ]
-ge 大于等于,如:if ["$a" -ge "$b" ]
-lt 小于,如:if ["$a" -lt "$b" ]
-le 小于等于,如:if ["$a" -le "$b" ]
< 小于(需要双括号),如:(("$a" < "$b"))
<= 小于等于(需要双括号),如:(("$a" <= "$b"))
> 大于(需要双括号),如:(("$a" > "$b"))
>= 大于等于(需要双括号),如:(("$a" >= "$b"))
另外:$?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败.

文件表达式

-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真 
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真 
-w filename 如果 filename可写,则为真 
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。
整数变量表达式
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
字符串变量表达式
If  [ $a = $b ]                 如果string1等于string2,则为真
                                字符串允许使用赋值号做等号
if  [ $string1 !=  $string2 ]   如果string1不等于string2,则为真       
if  [ -n $string  ]             如果string 非空(非0),返回0(true)  
if  [ -z $string  ]             如果string 为空,则为真
if  [ $sting ]                  如果string 非空,返回0 (和-n类似) 
    逻辑非 !                   条件表达式的相反
if [ ! 表达式 ]
if [ ! -d $num ]               如果不存在目录$num
    逻辑与 –a                   条件表达式的并列
if [ 表达式1  –a  表达式2 ]

    逻辑或 -o                   条件表达式的或
if [ 表达式1  –o 表达式2 ]

cut 在批量处理文件后缀名的妙用:

BUILDTOOL_PATH=~/home/12.0.1/MDS
PACKSPX=$BUILDTOOL_PATH/svnspxex/packspx.py
SCRIPT_DIR=$(pwd)
DIR=$SCRIPT_DIR/packages
mkdir $SCRIPT_DIR/oldpackages
echo "ex-Pack SPX package...."
for i in `ls $DIR/`; do
    l= expr length $i;
    l=l-4;
#   echo l;
    j=$(ls $DIR/$i |cut -f 1-5 -d.);
#   echo $j;
    python $PACKSPX -x $DIR/$i $j;
done
    mv $DIR/*.spx $SCRIPT_DIR/oldpackages
    mv $DIR/.* $SCRIPT_DIR/oldpackages
 

转载于:https://www.cnblogs.com/hammerqiu/p/10903964.html

你可能感兴趣的文章
Redis 配置
查看>>
阅读《大型网站技术架构》,并结合"重大需求征集系统"有感
查看>>
mysql读写分离
查看>>
总结iOS 8和Xcode 6的各种坑
查看>>
上传图片到FTP的实例
查看>>
Linux:shell登录过程
查看>>
linux 交叉编译出现的问题
查看>>
LruCache的缓存策略
查看>>
Android解析WindowManager(一)WindowManager体系
查看>>
MapReduce中的map个数
查看>>
开源框架:SDWebImage
查看>>
vue 更改数组里的数据的坑
查看>>
C++中抽象类和接口类的区别
查看>>
【中文】Joomla1.7扩展介绍之 K2(内容建设)
查看>>
A - 卿学姐与公主(线段树+单点更新+区间极值)
查看>>
Flex Label组件扩展边框与背景
查看>>
DOM相关知识总结
查看>>
Spyder项目创建,打开与使用
查看>>
类加载器、反射,反射的应用实例(泛型擦除和配置文件)
查看>>
not exists、left join/is null、not in 行为
查看>>