Shell 脚本

1 如何在shell脚本中判断文件或者文件夹是否存在?

if [ test -d 文件夹名称 ] ; then 
echo "文件夹存在!" 
else 
echo "文件夹不存在!" 
fi 


if [ -f file.txt ]; then 
   echo "文件存在!" 
else 
   echo "文件不存在!" 
fi 



举例
#!/bin/sh

myFile="/var /log/httpd/access.log"
if [ ! -e "$myFile" ]; then
     touch "$myFile"
fi

-e和-f的区别是,-f代表常规文件(regular file),-e代表所有任何类型文件

参考如下:

-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 如果文件是软链接,则为真

2 shell脚本中的if中多条件语句如何写

变量a等于aa且变量b等于bb  或者 变量c等于cc且变量d等于dd 这样的条件成立的话,输出success

if [ $a = "aa" -a $b = "bb" ] || [$c = "cc" -a $d = "dd" ];
then
  echo "success"
fi


3、shell中逻辑关系 或、与表达
今天总结一下linux shell中逻辑关机表达方式。
逻辑与的表达:
1)、if [ $xxx=a -a $xx=b ]
2)、if [ $xxx=a ] && [  $xx=b ]
逻辑或的表达:
1)、if [ $xxx=a -o $xx=b ]
2)、if [ $xxx=a ] || [  $xx=b ]

4、循环 Shell break和continue命令
参照: http://c.biancheng.net/cpp/view/7010.html

5、linux 系统下shell脚本拼接字符串
如果想要在变量后面添加一个字符,可以用以下方法:
$value1=home
$value2=${value1}"="
echo $value2
把要添加的字符串变量添加{},并且需要把$放到外面。
这样输出的结果是:home=,也就是说连接成功。

猜你喜欢

转载自angie.iteye.com/blog/2344411