Shell 编程之规范和变量


说到 Shell 编程,很多从事 Linux 运维工作的朋友都不陌生,都对 Shell 有基本的了解,读者可能刚开始接触 Shell 的时候,有各种想法,感觉编程非常困难,SHELL 编程是所有编程语言中最容易上手,最容易学习的编程脚本语言。
本章向读者介绍 Shell 编程入门、Shell 编程变量、If、While、For、Case、Select基本语句案例演练及 Shell 编程四剑客 Find、Grep、Awk、Sed 深度剖析等。

shell入门

简单来说 Shell 就是一个用户跟操作系统之间的一个命令解释器。
Shell 是用户与 Linux 操作系统之间沟通的桥梁,用户可以输入命令执行,又可以利用 Shell 脚本编程去运行
在这里插入图片描述
Linux Shell 种类非常多,常见的 SHELL 如下:
❑ Bourne Shell(/usr/bin/sh 或/bin/sh)
❑ Bourne Again Shell ( /bin/bash )
❑ C Shell(/usr/bin/csh)
❑ K Shell(/usr/bin/ksh)
❑ Shell for Root(/sbin/sh)

Shell 脚本编程需要如下几个事项:

❑ Shell 脚本名称命名一般为英文、大写、小写;
❑ 不能使用特殊符号、空格来命名;
❑ Shell 脚本后缀以.sh 结尾;
❑ 不建议 Shell 命名为纯数字,一般以脚本功能命名。
❑ Shell 脚本内容首行需以#!/bin/bash 开头;
❑ Shell 脚本中变量名称尽量使用大写字母,字母间不能使用“-”,可以使用
“_”;
❑ Shell 脚本变量名称不能以数字、特殊符号开头。
如下为第一个 Shell 编程脚本,脚本名称为:first_shell.sh

#!/bin/bash   #固定格式,定义该脚本所使用的 Shell 类型;
#This is my First shell
#By author Mr.xu 2020
echo “Hello World ”

Shell 编程之变量

Shell 编程中变量分为三种,分别是系统变量、环境变量和用户变量,其中系统变量
在对参数判断和命令返回值判断时使用,而环境变量则主要是在程序运行时需要设置,
用户变量又称为局部变量,多使用在 Shell 脚本内部或者临时局部使用。
Shell 变量名在定义时,首个字符必须为字母(a-z,A-Z),不能以数字开头,中间
不能有空格,可以使用下划线(_),不能使用(-),也不能使用标点符号等。

1. SHELL 编程常见系统变量

变量说明
$0当前脚本的名称;
$n当前脚本的第 n 个参数,n=1,2,…9;
$*当前脚本的所有参数(不包括程序本身);
$#当前脚本的参数个数(不包括程序本身);
$?命令或程序执行完后的状态,返回 0 表示执行成功;
$$程序本身的 PID 号。

2. SHELL 编程常见环境变量

变量说明
PATH命令所示路径,以冒号为分割;
HOME打印用户家目录;
SHELL显示当前 Shell 类型;
USER打印当前用户名;
ID打印当前用户 id 信息;
PWD显示当前所在路径;
TERM打印当前终端类型;
HOSTNAME显示当前主机名。

3. SHELL 编程用户变量

变量说明
A=jfedu.net自定义变量 A;
N_SOFT=nginx-1.12.0.tar.gz自定义变量 N_SOFT;
BACK_DIR=/data/backup/自定义变量 BACK_DIR;
IP1=192.168.1.11自定义变量 IP1;
IP2=192.168.1.12自定义变量 IP2

创建 Echo 打印菜单 Shell 脚本,脚本代码如下:

#!/bin/bash
#auto install httpd
#By author jfedu.net 2017
echo -e '\033[32m-----------------------------\033[0m'
FILE=httpd-2.2.31.tar.bz2
URL=http://mirrors.cnnic.cn/apache/httpd/
PREFIX=/usr/local/apache2/
echo -e "\033[36mPlease Select Install Menu:\033[0m"
echo
echo "1)官方下载 Httpd 文件包."
echo "2)解压 apache 源码包."
echo "3)编译安装 Httpd 服务器."
echo "4)启动 HTTPD 服务器."
echo -e '\033[32m-----------------------------\033[0m'
sleep 20

运行脚本,执行结果如图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值