第一个参数用$1表示,第二个参数用$2表示,以此类推。。
写一个简单的传参数脚本来测试:
#!/bin/bash
if [ $1 =="start" ]
then
echo"do start"
elif [ $1 =="stop" ]
then
echo"do stop"
else
echo "Pleasemake sure the positon variable is start or stop."
fi
保存为test.sh 执行 ./test.sh start或./test.sh stop
awk的结果如何写入数组中:
写了一个简单的功能:
B=(`awk '/insert overwrite table/ {print $4}' $1`)
echo ${B[1]}
echo ${#B[@]} 输出数组元素个数
如何在变量中定义双引号:
用单引号 lstr='tblist="1111"'
echo $lstr
tblist="1111"
grep获取行号:
grep -nw "k=0" automan.sh
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所指定的用户拥有时返回真。
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-le 小于等于
-ge 大于等于
-z 空串
= 两个字符相等
!= 两个字符不等
-n 非空串
-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真
-w filename 如果 filename可写,则为真
-x filename 如果 filename可执行,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真
filename1 -ot filename2 如果 filename1比 filename2旧,则为真
-zstring 如果 string长度为零,则为真
-nstring 如果 string长度非零,则为真
string1 = string2 如果 string1与 string2 相同,则为真
string1 != string2 如果 string1与 string2 不同,则为真
num1 -eq num2 等于
num1 -nenum2 不等于
num1 -ltnum2 小于
num1 -lenum2 小于或等于
num1 -gtnum2 大于
num1 -genum2 大于或等于
实例1 判断参数是否为空:
if [ -z"$1" ];then
echo "please input parameter"
exit
else
echo "parameter 1: $1"
fi
实例2判断参数个数小于3个:
if [ $# -lt 3 ] ;then
echo "please input 3parameter"
exit
else
for var in $*; do
echo "var is $var"
done
fi
linux if命令
无论什么编程语言都离不开条件判断。SHELL也不例外。 if list then EX1: #!/bin/sh SYSTEM=`uname -s` #获取操作系统类型,我本地是linux if [ $SYSTEM = "Linux" ] ; then #如果是linux的话打印linux字符串 基本上和其他脚本语言一样。没有太大区别。不过值得注意的是。[]里面的条件判断。 1 字符串判断 str1 = str2 当两个串有相同内容、长度时为真 2 数字的判断 int1 -eq int2 两数相等为真 3 文件的判断 -r file 用户可读为真 3 复杂逻辑判断 -a 与 结尾 语法虽然简单,但是在SHELL里使用的时候,他的功能变得强大了。 |