shell腳本編程進階:
-d:確定文件是否爲目錄
-f:確定文件是否爲普通文件
-e:確定文件是否存在
-r:確定文件是否可讀
-w:確定文件是否可寫
-x:確定文件是否可執行
-s:確定文件名長度是否大於零
#!/bin/bash
if [ -d $1 ]
then
ls $1
else
echo "$1 is not a directory"
fi
#保存,isadir.sh。source isadir.sh ~
#!/bin/bash
case "$1" in
[A-Z]|[a-z])
echo "letter";;
[0-9])
echo "digit";;
*)
echo "other symbol";;
esac
#->iscase.sh #source iscase.sh hello #source iscase.sh ""
#!/bin/bash
for var in hello world !
do
echo $var
done #hello.sh
#!/bin/bash
for((i=0;i<5;i++))
do
echo $i
done #iValue.sh
#!/bin/bash
index=`expr length "$1"`
while [ $index -gt 0 ]
do
str=$str `expr substr "$1" $index 1`
index =$[$index-1]
done
echo $str
#->whileShell.sh
#source whileShell.sh "HelloWorld!反轉倒置字符串!"
#!/bin/bash
for var in Jack Hose Mark Hellen
do
if [ $var = Mark ]
then
break;
fi
echo $var
done
echo -e "---------------------------------------------------\n"
for var in Jack Hose Mark Hellen
do
if [ $var = Mark ]
then
continue;
fi
echo $var
done
#test.sh #source test.sh
sh [選項] [文件]:
-n:檢查shell腳本語法錯誤,如果沒錯誤就沒有輸出信息
-x:顯示腳本實際執行過程
sh -x ./test.sh
#!/bin/bash
if [! $# -eq 2]
then
echo "please input two parameters"
exit
fi
#divideNew.sh
#!/bin/bash
count=`who | grep "\(192\.168\.126\.[1-9][0-9]*\)" | wc -l`
if [ $count -gt 0 ]
then
date>> checkLoginIP.log
echo `who | grep "\(192\.168\.126\.[1-9][0-9]*\)" `>>checkLoginIP.log
fi
#檢查過濾 #checkLoginIP.sh
#!/bin/bash
if[ $# -ne 1 ]
then
echo "please input the backup directory"
exit
fi
filelist=`ls $1`
backupdir=$HOME/backup`date"+%Y%m%d%H%M%S"`
mkdir $backupdir
echo "now start backuping,the directory name is $backupdir"
for filename in $filelist
do
if [ -f "$1/$filename" ]&&[ -x "$1/$filename" ]
then
cp "$1/$filename" "$backupdir/$filename"
fi
done
#backupDir.sh