shell script 零碎知识
1.test命令的测试功能
-e 文件名是否存在
-f 文件名是否存在且为文件
-d 文件名是否存在且为目录
范例1 检查/dmtsai是否存在,存在输出 exist 不存在输出 Not exist
test -e /dmtsai && echo "exist" || echo "not exist"
2.参数
shell脚本被执行时可以带进参数,其基本用法是:
脚本名 参数1 参数2 参数3 ......
$0 $1 $2 $3
$#:表示总参数的个数;
$@:所有参数的字符串。
3.条件判断式
有3种形态
•if或elif后的条件必须用[],且表达式和中括号之间一定要有空格;
•比较的表达式中用$取变量值之后要用双引号引起;
•在linux的shell脚本中==和=含义是一样的。
netstat命令 可以查询到目前主机打开的网络服务端口,我们可以利用“netstat -tuln”来取得目前主机有启动的服务。
常见的port和相关网络服务的关系:
80:WWW
21:ftp
22:ssh
25:mail
4.case…esac语句
shell脚本中的case…esac语句相当于switch语句
5.循环(while循环和for循环)
whilie循环
while [ condition ] #有空格 do 程序块 done 当condition条件成立时,就进行循环,直到condition的条件不成立停止。 until [ condition ] do 程序块 done 当condition的条件成立时,终止循环,否则就持续进行循环
?话说 什么时候有空格,一开始条件 !=两边没加空格 就错了。。。
for循环
#固定循环
#变量 第一次等于 value1,第二次等于 value2.。。。
for 变量名 in value1 value2 value3 do 语句 done
#常用于数值的循环 for ((初始值;终止条件;执行步长)) do 语句 done