Shell脚本攻略十八式之第一招——编程规范与变量
Posted 28线不知名云架构师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell脚本攻略十八式之第一招——编程规范与变量相关的知识,希望对你有一定的参考价值。
#!/bin/bash
#Shell写得好,女友排队找
#女神镇楼!!!
一、Shell脚本概述
1.1、shell概念
linux shell是一种特殊的交互式工具,它为用户提供了启动程序、管理文件系统中的文件以及运行在linux系统上的进程的途径。shell的核心是命令行提示符。命令行提示符是shell负责交互的部分。它允许你输入文本命令,然后解析命令,并在内核中执行。
1.2、shell的功能——命令解释器,翻译官
介于系统内核与用户之间,负责解释命令行,将需要的执行操作传递给内核执行,并输出执行结果
1.3、shell脚本的应用场景
shell脚本就是将要执行的命令按顺序保存到一个文本文件,并给该文件执行权限,方便一次性执行的一个程序文件。主要是方便管理员进行设置或管理,可结合各种shell控制语句以完成更复杂的操作。常用于重复性的操作、批量事务处理、自动化运维、服务运行状态监控、定时任务等。
shell脚本运行的服务特点:①重复性操作②交互性任务③批量事务处理④服务运行状态⑤监控定时任务执行
1.4、shell的编程规范
常见的shell解释器程序有很多种,使用不同的shell脚本时,其内部指令、命令行提示等方面会存在一些区别。通过/etc/shells文件可以了解当前系统所支持的shell脚本种类
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
1.5、shell脚本的运行
编辑一个脚本 名字是hello.sh
vim hello.sh
方法一:有权限
执行脚本前 记住给他权限
chmod +x hello.sh
方法二:没有权限
source hello.sh
1.6、bash和sh的区别
bash执行脚本遇到错误依旧会走完
sh执行脚本遇到错误就会停止不会继续往下走
bash -x //逐行调试
bash -n //仅检查语法错误
二、shell脚本变量
2.1、环境变量的定义
各种shell环境中都使用到了“变量”的概念。Shell变量用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设定或系统环境的变化而相应变化。通过使用变量,Shell程序能够提供更加灵活的功能,适应性更强。
常见的Shell变量的类型包括自定义变量、环境变量、位置变量、预定义变量。
2.2、自定义变量
自定义变量是由系统用户自己定义的变量,只有用户自己的shell环境中有效,因此又称为本地变量。在编写shell脚本程序时,通常会设置一些特定的自定义变量,以适应程序过程中的各种变化,满足不同需要。
2.2.1、定义新的变量
变量名以字母或下划线开头,区分大小写,建议全大写
变量名=变量值
2.2.2、查看和引用变量的值
echo $变量名
2.2.3、从键盘输入内容为变量赋值
--------方法一---------
read [-p "提示信息"] 变量名
echo $变量名
--------方法二---------
read 变量名
echo $变量名
2.2.4、变量作用范围
默认情况下,新定义的变量只在当前的shell环境中有效,因此成为局部变量。当进入子程序或新的子shell环境中时,局部变量将无法再使用
2.3、shell脚本变量——环境变量
①由系统提前创建,用来设置用户的工作环境
②配置文件:/etc/profile(全局生效)、~/.bash_profile(当前用户环境)
2.3.2、常见环境变量
PWD、PATH
USER、SHELL、HOME
使用 env 命令可以查看到当前工作环境下的环境变量
2.3.3、PATH(路径环境变量)
echo $PATH #查看当前搜索路径
PATH="$PATH:/root" #将/root目录添加到搜索路径
export PATH="$PATH:/root" #输出为全局环境变量
first.sh
- 已经将该目录添加到路径环境变量中,目录内的所有具有执行权限的文件,都可以在当前环境任何目录中执行
只读变量
用于变量值不允许被修改的情况
readonly 命令设置只读变量
readonly PRODUCT #设置为只读变量
echo $PRODUCT
PRODUCT=Python #只读变量不可以被重新赋值
unset PRODUCT #只读变量不可以被删除,unset 命令用于删除变量,但无法删除只读变量,只能重启系统解决
位置变量
当执行命令行操作时,第一个字段表示命令名或脚本程序名,其余的字符串参数按照从左到右的顺序依次赋值给位置变量
vim lic.sh
#!/bin/bash
echo $1
echo $2
echo $1 + $2
以上是关于Shell脚本攻略十八式之第一招——编程规范与变量的主要内容,如果未能解决你的问题,请参考以下文章