您的位置:首页 > 运维架构 > Shell

shell脚本快速入门

2011-09-28 00:08 573 查看
一、变量赋值

#!/bin/bash
a="hello world"                           # = 两侧不能有空格!
echo "a is $a"
unset a
echo "this is ${a}nd"            #变量最好用 {} 扩起来,避免混淆

declare -i num1=10
declare -i num2=20
declare -i num3=$num1+$num2


比较重要的命令:

ls wc cp mv grep cut cat file read sort uniq expr find tee basename dirname head tail sed awk

二、流程控制

1.参数控制

#!/bin/bash
echo $1 $2           #参数名
echo $0            #程序名
echo $@            #在一个变量中列出所有参数   $*
echo $#            #参数个数
echo $$            #进程号
echo $?            #上一条单独命令的退出状态  


2.if 循环(各参数一定要用空格隔开!!)

#!/bin/bash
for day in 1 2 3 4 5 6 7
do
if [ $day = 6 -o $day = 7 ]
then
echo "$day is a nice day"
elif [ $day = 1 ]
then
echo "starting to work..."
fi
done


3.case

read -p 'Please input a num: ' num
case $num in
1)
echo 1;;
2)
echo 2;;
3 | 4)
echo 3 or 4;;
*)
echo 'other';;
esac


4.for

#!/bin/bash
read dir
if [ -d "$dir" -a -r "$dir" ]; then
file=$(ls $dir)

for filename in $file
do
if [ -u "$dir/$filename" ]; then
echo "$filename has uid"
ls -l "$dir/$filename"
fi
done
else
echo "sorry $dir does not exist or could not read"
fi


此例可输入: /usr/bin

5.while

#!/bin/bash
read str
while [ "$str" != 'ubuntu' ]
do
echo 'not right'
read str
done
echo "you have guessed it !"


6.until

#!/bin/bash
read str
until [ $str = 'quit' ]
do
echo 'keep on'
read str
done
printf "you have entered quit !\n"


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: