Shell编程——编程规范与变量(1)-创新互联

Shell脚本概述

柯城网站建设公司成都创新互联公司,柯城网站设计制作,有大型网站制作公司丰富经验。已为柯城千余家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的柯城做网站的公司定做!

shell脚本的概念:

  • 将要执行的命令按顺序保存到一个文本文件

  • 给该文件可执行权限,便可运行

  • 可结合各种shell控制语句以完成更复杂的操作

shell脚本应用场景:

  • 重复性操作

  • 批量事务处理

  • 自动化运维

  • 服务运行状态监控

  • 定时任务执行

  • ...

shell的作用——命令解释器,“翻译官”

  • 介于系统内核与用户之间,负责解释命令行

Shell编程——编程规范与变量(1)

用户的登录shell

  • 登录后默认使用的shell程序,一般为/bin/bash

  • 不同shell的内部指令,运行环境等会有所区别

Shell编程——编程规范与变量(1)

编写第一个Shell脚本

编写脚本代码

  • 使用vim文本编辑器

  • 每行一条Linux命令,按执行顺序依次编写

[root@localhost ~]# vim first.sh 编辑第一个脚本#!/bin/bash   shell声明 #first test   注释 cd /boot/     命令行 pwd ls -lh vml*

赋予可执行权限

  • 使脚本具有可执行属性

chmod +x first.sh  赋予执行属性

执行脚本文件

需要执行权限才能执行,但是不改变位置

./first.sh 

不需要执行权限,但是改变位置

. first.sh 

source first.sh 

不需要执行权限也不会改变位置

sh first.sh 

更完善的脚本构成

  • 脚本声明

  • 注释信息

  • 可执行语句

#!/bin/bash #first test cd /boot/ echo "当前的目录位于:" pwd echo "其中以vml开头的文件包括:" ls -lh vml*

重定向与管道操作

交互式硬件设备

标准输入:从该设备接收用户输入的数据

标准输出:通过该设备向用户输出数据

标准错误:通过该设备报告执行出错信息

类型设备文件文件描述编号默认设备
标准输入/dev/stdin0

键盘

标准输出/dev/stdout1显示器
标准错误输出/dev/stderr2显示器

重定向操作

类型作符用途
重定向输入<从指定的文件读取数据,而不是从键盘输入
重定向输出>将输出结果保存到指定的文件(覆盖原有内容)
>>将输出结果追加到指定文件
标准错误输出2>将错误信息保存到指定温家安(覆盖原有内容)
2>>将错误信息追加到指定文件中
混合输出&>将标准输出,标准错误的内容保存到同一个文件中

管道操作符号“|”

  • 将左侧的命令输出结果,作为右侧命令的出来对象

Shell编程——编程规范与变量(1)

Shell编程——编程规范与变量(1)

shell变量的作用,类型

变量的作用

为灵活管理Linux系统提供特定参数,有两层意思

  • 变量名:使用固定的名称,由系统预设或用户定义

  • 变量值:能够根据用户设置,系统环境的变化而变化

变量的类型

  • 自定义变量:由用户自己定义,修改和使用

  • 环境变量:有系统维护,用于设置工作环境

  • 位置变量:通过命令行给脚本程序传递参数

  • 预定义变量:Bash中内置的一类变量,不能直接修改

自定义的变量

定义一个新的变量

  • 变量名以字母或下划线开头,区分大小写,建议全大写

变量名=变量值

查看变量的值

echo $变量名

Shell编程——编程规范与变量(1)

赋值时使用引号

  • 双引号:允许通过$符号引用其他变量值

  • 单引号:禁止引用其他变量值,$视为普通字符

  • 反撇号:命令替换,提取命令执行后的输出结果

从键盘输入内容为变量赋值

read [-p "提示信息"] 变量名

Shell编程——编程规范与变量(1)

设置变量的作用范围

格式1:export 变量名... 格式2:export 变量名=变量值...

——两种格式可以混合使用

Shell编程——编程规范与变量(1)

整数变量的运算

expr 变量1 运算符 变量2 [运算符 变量3]...

常用的运算符

  • 加法运算:+

  • 减法运算:-

  • 乘法运算:\*

  • 除法运算:/

  • 求模(取余)运算:%

小脚本实例:输入两个数字,并求出他们的和

#!/bin/bash #输入两个整数,求他们的和 #输入第一个数 read -p "请输入一个整数" num1 #输入第二个数 read -p "请输入一个整数" num2 #进行加法运算 sum=`expr $num1 + $num2` #显示出两个数之和 echo "两个数字之和是:$sum"

Shell编程——编程规范与变量(1)

特殊的shell变量

环境变量

  • 由系统提前创建,用来设置用户的工作环境

  • 配置文件:/etc/profile , ~/.bash_profile

常见的环境变量

  • PWD,PATH

  • USER,SHELL,HOME

Shell编程——编程规范与变量(1)

位置变量

  • 表示为$n,n为1~9之间的数字

#!/bin/bash echo "求和为:`expr $1 + $2`"

Shell编程——编程规范与变量(1)

预定义变量

  • $#:命令行中位置变量的个数

  • $*:所有位置变量的内容

  • $?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错

  • $0:当前执行的进程/程序号

#!/bin/bash echo "求和为:`expr $1 + $2`" echo "脚本名称:$0" echo "命令行中的变量个数:$#" echo "所有位置变量的内容:$*"

Shell编程——编程规范与变量(1)

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:Shell编程——编程规范与变量(1)-创新互联
浏览地址:http://azwzsj.com/article/dseoed.html