| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux【实操篇】—— Shell 编程入门、变量、运算符、条件判断、流程控制 -> 正文阅读 |
|
[系统运维]Linux【实操篇】—— Shell 编程入门、变量、运算符、条件判断、流程控制 |
目录 一、Shell 编程入门1. 认识 Shell开发者在进行服务器集群管理时,都需要编写 Shell 程序来进行服务器管理。Shell 是一个命令行解释器,为用户提供了一个向 Linux 内核发送请求以便于运行程序的界面系统升级程序。用户可以用 Shell 来启动、挂起、停止或者编写一些程序。 2. Shell 脚本的创建与执行????????Shell 脚本在执行时有两个格式上的要求:以 #!/bin/bash 开头、必须有可执行权限。如下我们编写第一个 Shell 脚本: (1)创建新目录 shell 用于存放 shell 脚本;
(2)vim 编辑器新建 shell 脚本 shell.sh,输入命令;
(3)这个时候查看 shell.sh 的权限,是没有可执行权限 x 的; (4)为它添加可执行权限;
(5)执行文件;
二、Shell 变量1. 系统变量和自定义变量Linux Shell 中的变量分为系统变量和用户自定义变量。系统变量顾名思义就是系统已经设置好的变量,诸如 $HOME、$PWD、$USER、$SHELL 等都是系统变量。使用指令 set 可以查看系统中所有的系统变量。我们常用较多的是自定义变量,基本语法如下:
我们试着操作一下变量:
执行结果为; 2. 变量的基本规则在定义变量时变量名称可以由字母、数字和下划线组成,但不能以数字开头;等号的两侧不能有空格;变量名称一般为大写。 将命令的返回值赋给变量时使用如下写法;
3. 设置环境变量
案例:在 /etc/profile 文件中定义 TOMCAT_HOME 环境变量,vim 打开?/etc/profile 输入;
设置完之后刷新配置状态;
结果如下; 4. 位置参数变量当执行一个 Shell 脚本时,如果希望获取到命令行的参数信息,就需要使用到位置参数变量。基本语法有:
案例:编写一个 Shell 脚本 position.sh,在脚本中获取到命令行中的各个参数信息。
运行时输入 100 和 200 两个参数,结果如下。 5. 预定义变量预定义变量就是 Shell 的设计者事先定义好的变量,可以直接在 Shell 脚本中使用。基本语法有:
三、运算符在 Shell 编程中有各种运算操作,语法格式为 $((运算式)) 或 $[运算式] 或者 expr m + n;如果希望将 expr 的值赋给某个变量,使用 `` 即可。
案例1:计算 (2+3)×4;
结果如下。 案例2:计算命令行两个参数的和;
运行时输入 20 和 50,结果如下: 四、条件判断条件判断使用语法 [ condition ](注意 condition 前后有空格),非空会返回 true。可以使用 $? 验证结果,0 为 true,>1 为false。如:
常用的判断语句有:
案例:判断 "ok" 是否等于 ok;
22 是否大于等于 21;
/root/shell 目录下是否有 aaa.txt 文件;
执行结果如下: 五、流程控制1. if 语句if 语句的基本语法如下,需要注意 [ 条件判断式?] 中括号与判断式之间必须有空格。
案例:编写一个 shell 程序,如果输入的参数大于等于 60,输出“及格”,小于 60 则输出“不及格”。
运行时带参数结果如下; 2. case 语句基本语法如下,其中 * 代表都不是以上的值。
案例:编写 Shell 程序当命令行参数为 1 时输出“周一”,是 2 时输出“周二”,其他情况均输出“other”。
运行结果如下: 3. for 循环for 循环有两个基本语法,语法一:
案例1:打印命令行输入的参数;
运行结果如下,这也印证了 $*(将所有参数看成一个整体)?和 $@(将参数区别对待) 的区别; 除此之外 for 循环还有第二个语法;
案例2:输出从 1 加到 100 的值。
运行结果如下: 4. while 循环基本语法:
案例:命令行输入一个参数 n,计算 1+2+..+n 的值;
运行结果如下: 六、read 读取控制台输入在我们进行 Shell 编程的时候,有时候也需要跟控制台进行交互,比如用户动态的输入一些数据,这个时候就需要用到 read。基本语法为
案例 1:读取控制台输入一个 num 值;
运行结果如下: 案例 2:读取控制台输入一个 num 值,指定在 10 秒内输入;
运行结果如下: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 13:56:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |