欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 运维知识 > linux >内容正文

linux

linux下的shell编程 -凯发k8官方网

发布时间:2024/10/14 linux 23 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 linux下的shell编程 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

shell程序就是放在文件的一系列linux命令和应用程序
shell也就是linux下的脚本语言
1.shell脚本执行的必须条件
(1)!#/bin/bash:必须以此作为开头
(3)一般以.sh结尾
2.shell的两种执行方式:
(1)./ 可执行的shell脚本
(2)bash shell脚本(**
**)
2.关于shell的一些关键字
(1)echo:打印字符串
(2)read:标准输入
(3)exec:执行另一个shell脚本
(4)text:主要进行字符串的比较熟悉比较逻辑测试以及文件操作
(5)#:代表注释
3.对于关键字的例子:
(1)read和echo:

这里变量区别c语言的是不用定义直接能使用read 变量名就是一个便准输入
read ±p 提示语句(字符串) 变量名
read可以跟多个变量名加空格空开就行,(变量名与提示语句的引号也要空开
这里的echo后边要先空格再加加字符串
(2)关于运算shell脚本只支持整形
例如:echo"ab= $ (($ a$b))"
注意这里必须使用双括号
取值一定要加 $符号

(3)&&和||和[]的用法
cmd1&&cmd2:当cmd1执行成功则执行cmd2否则不执行cmd2
cmd1||cmd2:cmd1执行失败就执行cmd2否则就不执行
[]:
中括号之间的算数比较不是用大于小于等于号
而是
-eq:判断代表两值相等,相等返回真
-lt:判断是否是小于
-ge:判断大于等于
-le:判断小于等于

中括号中的字符串的比较:
=:判断两字符串是否相等
!=:判断两字符串是否不等
-n:判断字符串长度是否大于0(注意下图-n和-z的用法)
-z:判断字符串是否等于0
中括号中的逻辑语句 :
-a代表且
-o代表或
!代表非


(4)test:
text和中括号的参数类似
这里用等号判断两字符串是否相等的时候等号两边必须有空格
只不过把中括号换成test
比如if test $a -ge $b
text还能对文件操作:


以对-e进行操作
默认查询的是用户家目录
可以先进入一个目录再进行查询

目录也是文件也可进行查询

(3)if语句的应用

**if 条件判断 ; then判断成功要进行的代码 exit 0else 条件判断 ; then判断成功要做的事 exit 0 fi**这里c语言里边的else if 在shell事elif然后else或者elif后边跟的和if一样


注意项:**if与条件判断要有空格
中括号要与其中的参数有空格
**
(4)case语句
介绍case之前介绍三个默认变量
$ 0~$ n:表示shell脚本的参数,$s0代表被执行文件的文件名
$#:代表最后一个参数的标号
s@:全体参数集合
(补充 :./.sh文件 参数1 参数2.。。。。)
例子:

#!/bin/bash echo $0 echo $1 echo $2 echo $# echo $@

命令:master@ubuntu:~$ bash a.sh a b
运行结果:

```ca.sh a b 2 a b

case语句:
例子:

#!/bin/bash case $1 in"a")echo aaa;;"b")echo bbb;;"c")echo ccc; esac

输入:master@ubuntu:~$ bash a.sh c
输出:ccc
注意这里两个分号
还有结尾要有反着写的case

(5)函数:
函数在shell脚本中也需要调用
function(可加可不加) 函数名(){};
函数也可以传参但是传参是调用的时候在函数名后边加参数而不是写在函数里边而且函数调用不用加()
例子:

上图输入:master@ubuntu:~$ bash a.sh a b 输出: func a b

(6)循环
while循环:
while循环模式:
while 判断式
do
若干个命令2
done
while循环和until循环两个模式一样但是while循环为真时循环继续,until循环是为假时候循环继续

for循环:
第一种for循环:
for 变量 in 变量的取值 循环体 done
第二种和c语言差不多但是for后边的小括号有两个后边加done
以下就是三种f循环语句的用法;

这里注意变量赋值时不需要$值但是当要用到变量的值的时候需要加 $值
还有就是for循环里边有两个括号
两数相加要加俩括号前面还要有 $

总结

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

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

网站地图