Shell编程规范与变量

本文介绍了Shell脚本的基础知识,包括Shell与Shell脚本的区别、作用、应用场景及学习建议。重点讲解了Shell脚本在Linux服务器自动化维护中的重要性,如软件部署、系统管理和备份等任务。同时,提到了重定向和管道操作在信息过滤和排错中的关键作用。学习Shell脚本需要掌握基本语法、标准格式和常用命令。文章最后讨论了脚本的执行方式以及重定向操作的重要性。
摘要由CSDN通过智能技术生成

前言

随着 Linux 系统在企业中的应用越来越多,服务器的自动化管理也变得越来越重要。
在 Linux 服务器的自动化维护工作中,除了计划任务的设置以外,Shell 脚本的应用也是非常重要的一部分。

1.shell与shell脚本区别

Shell:就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统
shell脚本:,即将各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,效率极高

shell脚本概述

在一些复杂的Linux维护工作中,大量重复性的输入和交互操作不但费时费力,而且容易出错
而编写一个恰到好处的shell脚本程序,可以批量处理,自动化的完成一系列维护任务,大大减轻管理员的负担将要执行的命令按顺序保存到一个文本文件,给该文件可执行权限
,可结合各种Shell控制语句以完成更复杂的操作。

1.shell的作用

Shell 是一个应用程序,它连接了用户和 Linux 内核(翻译官将用户语言转化成2进制语言),让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。
登录后默认使用shell程序,一般为/bin/bash
不同的Shell的内部指令,运行环境等会有所区别

在这里插入图片描述在这里插入图片描述
前两个都是bash的软链接,记住bin/bash就行

注:nologin:位置在/user/sbin ,这个shell可以让用户无法登陆主机

2.shell脚本的作用

自动化完成软件的安装部署,如部署lamp架构
自动化完成系统管理,如批量添加用户
自动化完成备份,如数据库定时备份
自动化进行分析处理,如网站访问量

2.shell脚本应用场景

shell脚本应用场景
重复性操作
交互性任务
批量事务处理
服务运行状态监控
定时任务执行

3.如何学习shell脚本(给予初学者的一些建议)

熟悉掌握各种Linux命令
掌握脚本的标准格式
掌握脚本的基本语法

4.shell的构成

第一行为"#!/bin/bash",脚本申明(默认解释器):表示此行以下的代码语句是通过/bin/bash程序来执行。还有其他类型的解释器,并且以.sh为结尾
比如#!/usr/bin/python,#!/usr/bin/expect
注释信息:以“#”开头的语句表示为注释信息,被注释的
与语句在脚本运行时不会被执行,可执行语句:如echo命令,用于输出""之间的字符串

案例:

编写脚本代码
使用vim
每一行Linux命令,按照顺序依次编写
赋予编写完成后的shell脚本文件可执行权限,使得脚本具有可执行性
在这里插入图片描述
在这里插入图片描述

以上编辑内容包括三条命令,实现了查看/boot目录中以vml开头的文件包括…,实现了“半自动化过程”
".sh"的作用是是一种标识,方便你和他人辨认这是一条shell脚本文件
如果不赋予权限的话会出现这种情况
在这里插入图片描述
但是用bash 或source不赋权可以
在这里插入图片描述
利用chmod +x +文件 赋权之后就OK啦
在这里插入图片描述
如果我们不用shell脚本来做这个例子:
在这里插入图片描述
相较于自动化脚本肯定相对麻烦,在我们的运维生涯中可以减轻工作量。

综上:脚本执行通常有三种执行方式
方法一:当前路径(决定路径与相对陆行)下执行脚本
(要有执行权限)
/home/test.sh或者 ./test.sh
方法二:sh,bash脚本文件路径(无需权限
bash test.sh
方法三:source脚本文件路径(可以没有执行权限)
source test.sh

还有一种利用echo(用于输出字符串)的更加完善的表现脚本方法
添加更多人性化,友好一点的提示信息在里面,容易你复盘,以及别人读懂
在这里插入图片描述
在这里插入图片描述

重定向与管道操作

shell脚本的特点是批量自动化处理,且操作过程位于后台,不需要用户在操作过程中有任何干预
那么你怎么能快速的找到自己想要的信息呢?这个往往在排错的时候很关键
因此学会提取和过滤执行信息非常重要!
这个时候就需要用到重定向和管道操作

交互式硬件设备

标准输入:从该设备接收用户输入的数据
标准输出:通过该设备向用户输出数据
标准错误:通过该设备报告执行出错信息
以上都是默认使用键盘和显示器作为关联的设备,与操作系统进行交互,完成最基本的输入和输出操作
从键盘接收用户输入的各种命令字串、辅助控制等信息并将结果输出到屏幕上;如果命令出错,也会反馈错误信息到屏幕
在这里插入图片描述
可以改变输入、输出内容的方向,而不使用默认的标准输入、输出设备(键盘和显示器),这种操作称之为“重定向”

重定向操作

在这里插入图片描述
重定向输出 >>不覆盖
在这里插入图片描述
&和&符号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值