欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 编程资源 > 综合教程 >内容正文

综合教程

linux基础(6) -凯发k8官方网

发布时间:2023/10/11 综合教程 48 老码农
凯发k8官方网 收集整理的这篇文章主要介绍了 linux基础(6) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

linux基础(六)

shell脚本中的三大循环和函数知识点

一、流程控制之if结构

1.简单的if实例:

#!/bin/bash
var='/etc/init.d'
#var='/dev/sda'
if [ -d $var ]
then
echo "$var is directory"
elif [ -b $var ]
then
echo "$var is block"
elif [ -f $var ]
then
echo "$var is regular file"
else
echo 'unknow'
fi

执行效果:

2.向脚本传递参数

eg:

#3.sh
echo $0
echo $1
echo $2
echo $3
echo ${11}
echo '$$' $$
echo '$*' $*
echo '$@' $@
echo '$#' $#
echo '$?' $?

测试结果:

[root@localhost ~]# ./3.sh 1 2 3 4 5 6 7 8 9 10
./3.sh
1
2
3 $$ 8755
$* 1 2 3 4 5 6 7 8 9 10
$@ 1 2 3 4 5 6 7 8 9 10
$#
$? 0

二.循环结构之while

while (条件)

do
动作
done

需要无限循环时我们会选择while :
写个脚本 让用户输入,输入数字通过,输出错误重新输入

#!/bin/bash
login=0
while [ $login != 1 ]
do
read -p 'please input your name: ' name
read -p 'please input your password: ' pwd
if [ $name == 'egon' ] && [ $pwd == '' ]
then
echo 'login sucessful'
login=1
fi
done

运行及查看结果:

[root@localhost ~]# ./4.sh
please input your name: egon
please input your password: 123
login sucessful
[root@localhost gandong]#

三、循环结构之for

shell格式的for

for i in {1..10}
do
echo $i
done
[root@localhost ~]# ./5.sh
1
2
3
4
5
6
7
8
9
10

应用循环和条件判断写的一个实例:

vim 6.sh
while :
do read -p 'please input your name: ' name
read -p 'please input your password: ' psd
if [-z $name ] || [-z $psd ]
then
continue
fi
if [ $name = 'alex' -a $psd = 'alex3714' ]
then
echo 'login successful ,welcome da sb'
while :
do
read -p 'please input your cmd: ' cmd
if [ $cmd = 'quit' ]
then
break
fi
$cmd
done
else
echo 'username or password is error'
fi
done echo '========================================================' ~

四、函数知识点

交互shell中的函数

eg:

vim 7.sh
function abc() {
echo 'aaa';echo 'bbbb';
}
abc

运行结果:

[root@localhost ~]# vim 7.sh
[root@localhost ~]# ./7.sh
aaa
bbbb

总结

以上是凯发k8官方网为你收集整理的linux基础(6)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图