#!/bin/bash
#输入用户的姓名,并且显示出来
#2008/10/21
read -p "请输入您的姓:" firstname
read -p "请输入您的名字:" lastname
echo "您的姓名是:$firstname $lastname"
#!/bin/bash
#利用date建立文件
#2008/10/21
#让用户输入文件名称,并获取fileuser变量
echo -p "I will use 'touch' command to create 3 files"
read -p "Please input file name what you want:" fileuser
#使用变量功能分析是否设置的文件名?
filename=${fileuser:-"filename"}
#开始使用date命令来获取所需要的文件名
date1=`date +%Y%m%d`
file1="$filename""$date1"
touch $file1
数值运算的方法;var=$((运算内容))
test用法;test -e filename
-e :该文件名是否存在
-f:该文件名是否为文件
-d:该文件名是否为目录
-r:检查该文件名是否可读
-w:检查该文件名是否可写
-x:检查该文件名是否可执行
-s:检查该文件名是否为空白文件
俩个整数的判断:
-eq;两数值相等
-ne:两数值不相等
-gt:n1大于n2
-lt:n1小于n2
-ge:n1大于等于n2
-le:n1小于等于n2
test -z string 判断字符串是否为0,若为空字符串,返回true
test -n string 若为空字符串,返回false
test str1=str2
test str1!=str2
-a:(and)两个条件同时成立
-o:两个条件任何一个成立
!:条件求反
例子:
#!/bin/bash
#首先让用户输入一个文件名
#这个文件是否存在?若不存在,则显示"不存在",并且中断程序
#若存在,则判断是否是目录?输出"是文件" "是目录?"
#判断执行者对这个文件或者目录的权限
#2008/10/21
read -p "请输入文件名:" filename
test -z $filename && echo "请输入文件名"
test ! -e $filename && echo "文件不存在" && exit 0
test -f $filename && filetype="是文件"
test -d $filename && filetype="是目录"
test -r $filename && perm="可读"
test -w $filename && perm="$perm 可写"
test -x $filename && perm="$perm 可执行"
echo "文件:$filename是:""$filetype"
echo "用户的权限是: $perm"
条件判断符号[]
例子:[ "$home" == "$male" ]
注意要有空格
shell脚本的默认的变量
例子:/sbin/shutdown -h now
$0 $1 $2
条件判断:
#检查输入的参数是否为hello
#如果是,就显示"hello, how are you?"
#如果没有加入任何参数,就提示必须输入参数
#若不是hello,提示仅使用hello作为参数
if [ "$1" == "hello" ]; then
echo "hello,how are you?"
elif [ "$1" == "" ]; then
echo "you must input parameter!"
else
echo "you must input hello"
fi
#判断参数是否为hello
case $1 in
"hello")
echo "hello, how are you?"
;;
"")
echo "you must input parameters!"
;;
*)
echo "you must input hello"
;;
esac
#函数体中的$1指的是函数后面跟着的参数
function println(){
echo "your choice is $1(函数后面的参数,如1)"
}
case $1(命令中的参数) in
"one")
println 1
;;
"two")
println 2
;;
*)
echo "hehhehehhe"
;;
esac
while[ "$yn" != "yes" ] && [ "$yn" != "YES" ]
do
read -p "please input yes/no to stop this programe:" yn
done
s=0
for(( i=1; i<=100; i=i+1 ))
do
s=$(($s+$i))
done
echo "the result '1+2+...+100='$s"
for animal in dog cat elephant
do
echo "there are $animal""s"
done
#找出目录内的文件名的权限
read -p "please input a dirctory :"dir
if[ "$dir" == "" ] || [ ! -d "$dir" ] ; then
echo "the $dir id not exsit in your system!"
exit 1
fi
filelist=`ls $dir`
for filename in $filelist
do
perm=""
test -r "$dir/$filename" && perm="可读"
test -w "$dir/$filename" && perm="$perm 可写"
test -x "$dir/$filename" && perm="$perm 可执行"
echo "the file $filename's permission is $perm"
done
shell脚本的调试
sh -n sh01.sh 检查语法
sh -x sh01.sh 将使用的脚本内容显示在屏幕上,很有用
阅读(1130) | 评论(0) | 转发(0) |