1、shell中,-f代表判断文件是否存在,-d代表判断路径是否存在。
2、shell和编程语言一样,写的时候,要带上判断语句,即逻辑。
3、写了一个简单的清空系统log的shell脚本:
1 #!/bin/bash 2 3 #清除日志脚本 4 5 LOG_DIR=/var/log 6 7 LOG_NAME=messages 8 9 ROOT_UID=0 #$UID为0的时候,用户才具有root用户的权限 10 11 #判断用户是否是root用户 12 if [ $UID -ne $ROOT_UID ] 13 then 14 echo "Must be root to run this script." 15 exit 1 16 fi 17 18 #判断目录是否存在 19 cd $LOG_DIR || { 20 echo "Cannot change to necessary directory." >&2 21 exit 1 22 } 23 24 #判断文件是否存在 25 if [ ! -f $LOG_NAME ] 26 then 27 echo "Log file not exist." >&2 28 exit 1 29 fi 30 31 cat /dev/null > $LOG_NAME && echo "Logs cleaned up." 32 33 exit 0