Shell基础

$#是有几个参数
$0是本身的名字
$1是第一个参数
$2是第二个参数
if [ -z $RANDOM  ]; then
        RANDOM=$(date +%d%H%M%S)
fi
  
类似这样的文件操作在shell编程中用处很大:我总结有一些一些经常使用
-d :判断制定的是否为目录
-z:判断制定的变量是否存在值
-f:判断制定的是否为文件
-L:判断制定的是否为符号链接
-r:判断制定的是否可读
-s:判断存在的对象长度是否为0
-w:判断制定的是否可写
-x:判断存在的对象是否可以执行
!:测试条件的否定符号
这些文件操作很多时候给脚本编程带来方便,尤其是用在if条件语句中

[ -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. 


...


rm $0命令是自删命令

a="hello world!"
b="/data/local/tmp/aaa.sh"
echo "-----------------------------"
echo "A is:"
echo $a
echo "-----------------------------"
rm ./a.txt;rm ./b.txt;rm ./c.txt;rm $0;ls -al ./*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值