Shell脚本编程——基础篇

Shell脚本概念

1、将要执行的命令按顺序保存到一个文本文件
2、给该文件可执行权限,便可运行
3、可结合各种shell控制语句以完成更复杂的操作

Shell脚本应用场景

1、重复性操作
2、批量事务处理
3、自动化运维
4、服务运行状态监控
5、定时任务执行

完善的shell脚本构成

1、脚本声明
2、可执行语句
3、注释文字

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

执行脚本文件方法大全

方法一:脚本文件路径(绝对路径和相对路径)

方法二:sh脚本文件路径

方法三:source脚本文件路径

拓展方法四:

[[email protected] ~]#.  first.sh

小结:
1、除了./first.sh需分配执行权限才可执行外,其余执行文件命令不需分配,可直接执行;
2.sh.first.sh与./first.sh执行文件后,不会改变当前所在目录位置

交互式硬件设备

标准输入:从该设备接收用户输入的数据
标准输出:通过该设备向用户输出数据
标准错误:通过该设备报告执行出错信息

1、重定向操作

2、管道操作符号“|”
将左侧的命令输出结果,作为右侧命令的处理对象

3、awk:纵向识别

图中命令可转换:

awk -F:  ‘{print $1,$7}’=awk -F":"  ‘{print $1,$7}’

变量的作用

1、为灵活管理Linux系统提供特定参数,有两层意思
变量名:使用固定的名称,由系统预设或用户定义
变量值:能够根据用户设置、系统环境的变化而变化

变量的类型

1、自定义变量:由用户自己定义、修改和使用
2、环境变量:由系统维护,用于设置工作环境
3、位置变量:通过命令行给脚本程序传递参数
4、预定义变量:Bash中内置的一类变量,不能直接修改

定义一个新的变量
变量名以字母或下划线开头,区分大小写,建议全大写

查看变量名

赋值时使用引号
单引号:禁止引用其他变量值,$视为普通字符
双引号:允许通过$符号引用其他变量值
反撇号:命令替换,提取命令执行后的输出结果
从键盘输入的内容为变量赋值

设置变量的作用范围

两种格式可以混合使用


整数变量的运算

常用的运算符

加法:+
减法:-
乘法:*
除法:/
求模(取余):%

环境变量

1、由系统提前创建,用来设置用户的工作环境
配置文件:/etc/profile、~/.bash_profile
2、创建的环境变量
PWD、PATH
USER、HOME、SHELL

位置变量

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

[[email protected] ~]# ./myprog.sh one two three four five six

./myprog.sh:$0(当前执行的进程名)
one:$1(第1个位置参数)
two:$2(第2个位置参数)
six:$6(第6个位置参数)

预定义变量

●$#:命令行中位置变量的个数
●$*:所有位置变量的内容
●$?:上一条命令 执行后返回的状态,当返回状态值为0时表示执
行正常,非0值表示执行异常或出错
●$0:当前执行的进程/程序名

原文地址:https://blog.51cto.com/14475593/2440042

时间: 2024-10-26 19:19:24

Shell脚本编程——基础篇的相关文章

Linux中的shell脚本编程——基础篇

概述: shell脚本在Linux系统管理员的运维工作中非常重要.shell脚本能够帮助我们很方便的管理服务器,因为我们可以指定一个任务计划,定时的去执行某一个脚本以满足我们的需求.本篇将从编程基础.脚本基本格式.变量.运算.条件测试这几个方面详细介绍shell脚本编程的基础内容,也是我们必须要掌握熟练的内容. 一.编程环境 1.程序:指令+数据 程序编程的风格有两种: 过程式:以指令为中心,数据服务与指令 对象式:以数据为中心,指令服务于数据 2.程序的执行方式: □计算机:只能识别二进制文件

shell 脚本编程基础篇

一级标题 二级标题 1.编程基础 Linus:Talk is cheap, show me the code 程序组成 程序:算法+数据结构 数据:是程序的核心 算法:处理数据的方式 数据结构:数据在计算机中的类型和组织方式 面向过程语言 做一件事情,排出个步骤,第一步干什么,第二步干什么,如果出现情况A,做什么处理,如 果出现了情况B,做什么处理 问题规模小,可以步骤化,按部就班处理 以指令为中心,数据服务于指令 C,shell 面向对象语言 一种认识世界.分析世界的方法论.将万事万物抽象为各

Linux shell脚本编程基础之练习篇

shell脚本编程基础之练习篇. 1.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. #!/bin/bash if [ $# -ne 1 ] then echo "请输入一个参数" exit else echo "参数正确" newfile=$1 fi #echo `grep "^#\!" ${newfile}` if ! grep "^#\!" ${newfile} &>/

shell脚本编程高级篇

SHELL脚本编程进阶循环执行:简单来说就是把一些指令重复循环. 循环代码具体的指令有三种: for , while , until其中for, while用的最多.for循环 for 变量名 in 列表;do 循环体 done 关键字的帮助都是用help来查询.for循环语法:在shell编程中 for,in,do,done.这些都是他的关键字,其中循环的指零就放在do和done之间.WORDS决定了循环次数.循环的次数由in 后面跟的WORDS(字符串)的数量决定.字符串的个数决定了do和d

8.15_Linux之bash shell脚本编程入门篇(二)以及文件查找和压缩的使用

bash shell脚本编程入门篇(二) read命令的使用 作用: 使用read来把输入值分配给一个或多个shell变量: -p指定要显示的提示 -t TIMEOUT read从标准输入中读取值,给每个单词分配一个变量,所有剩余单词都被分配给最后一个变量 EX.read -p "Enter a filename:" FILE 条件选择之if的使用 if的作用:选择执行(注意:if语句可嵌套) 单分支 if 判断条件;then 条件为真的分支代码 fi EX.单分支案例 双分支 if

8.17_Linux之bash shell脚本编程入门篇(三)之循环以及函数function的使用

bash shell脚本编程入门篇(三)之循环 什么是循环执行? 将某代码段重复运行多次 重复运行多少次: 循环次数事先已知 循环次数事先未知 有进入条件和退出条件 相关命令:for, while, until,selet, for命令的使用 作用: 依次将列表中的元素赋值给"变量名"; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 命令格式: for 变量名 in 列表; do 循环体(正常执行的执行命令) 语句1 语句2 语句3 ... done 列表生成方式: (

第九章、shell脚本编程基础

第九章.shell脚本编程基础 本章内容 编程基础 脚本基本格式 变量 运算 条件测试 配置用户环境 编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令 编程语言: 低级:汇编 高级: 编译:高级语言-->编译器-->目标代码 java,C# 解释:高级语言-->解释器-->机器代码 shell, perl, python (系统后台

文本处理工具和正则表达式、shell脚本编程基础-第四周

第四周-文本处理工具和正则表达式.shell脚本编程基础1. 统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户的个数,并将用户都显示出来grep -v '/sbin/nologin' /etc/passwd|wc -lgrep -v '/sbin/nologin' /etc/passwd|cut -d: -f12. 查出用户UID最大值的用户名,UID及shell类型.cut -d: -f1,3,7 /etc/passwd|sort -t: -k2 -nr

Shell脚本编程基础

什么是Shell 操作系统最外层的程序,shell通过提示符让用户输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出来,管理用户与操作系统之间的交互. Shell是一个用户跟操作系统之间的一个命令解释器.Shell是用户与Linux操作系统之间沟通的桥梁.用户可以输入命令执行,又可以利用 Shell脚本编程去运行. 为什么要用到shell shell是一个交互式程序,当用户输入一条命令,shell就解释一条,一次只处理一条命令.如果我们一些复杂操作,逐个敲命令工作量就会增大,因此,我