红帽linux之shell脚本基础

简介: 提高运维效率的首选技能


三剑客:

grep命令:实现过滤功能

-c     统计匹配的行总数信息

-r     进行递归匹配

sed命令:进行替换操作(文件进行编辑)

awk命令:进行取列信息的操作 进行数据的统计工作(awk数据)



shell脚本的执行通常可以采用以下三种方式

1) bash scripts-name 或 sh scripts-name (推荐使用)

   当脚本文件本身没有可执行权限的(即文件x位为-号)时常用的方法,这里推荐用bash执行


2) path/scripts-name 或 ./scripts-name(当前路径下执行脚本)

   需要先将脚本文件的权限改为可执行权限(即文件加x位)


3) source scripts-name 或 .scripts-name(可以把脚本中变量函数带入到当前的shell中)


变量作用说明:

什么是变量:方程式x=1,y=x+1,即xy为变量,1和x+1是变量的内容

变量就是用一个固定的字符串(也可能是字符数字等的组合),替代更多更复杂的内容,

这个内容里可能还包含变量和路径,字符创等其它的内容。

使用变量的大好处就是方便,当然很多时候在编程中使用变量也是必须的,否则无法完成开发工



有字符串信息,经常被使用时

name=boyu


变量类型说明:

a. 全局变量(环境变量)

  系统默认定义好的,由大写字母组成,哪里都可以使用

  自定义全局变量方法:

  1)变量名尽量为大写

  2)定义变量时,需要使用export命令

      ①export 变量名=value

      ②变量名=value; export 变量名

      ③declare-x 变量名=value

 

  3)查看全局变量方法:env

    $HOME       用户登录时进入的目录

    $UID        当前用户的UID(用户标识)相当于id-u

    $PWD        当前工作目录的绝对路径名

    $SHELL      当前shell

    $USER       当前用户

 

 

  4)取消变量的方法:unset

  5)永久生效全局变量信息,需要将变量定义在/etc/profile


b. 局部变量(自定义变量)

  在创建脚本使用的变量(函数使用 脚本本身)

  只能在创建他们的shell函数或者shell脚本中使用

 

  如何定义局部变量:

  a. 将命令信息定义成变量

     date_info=$(date +%F)

     date_info='date +%F'

     PS:有些比较长的命令,当命令中出现多个管道信息时,尽量不要设置成变量


 

  b. 将字符串信息定义成变量

     1)字符串作为变量名使用时:字母 数字 下划线;名称只能以字母和下滑线开头

     2)字符串作为变量值使用时:字母 数字 下划线

     3)字符串作为变量值时,需要配合引号使用:

        双引号:可以解析变量值的信息(也可以不加双引号,一样效果)

        单引号:所见即所得

        反引号:可以将命令信息进行解析;解析的命令必须存在环境变量中,或者命令信息书写成全路径

相关文章
|
4天前
|
分布式计算 Hadoop Shell
使用shell脚本实现自动SSH互信功能
使用shell脚本实现自动SSH互信功能
13 1
|
4天前
|
Shell Linux Perl
Linux|如何允许 awk 使用 Shell 变量
Linux|如何允许 awk 使用 Shell 变量
13 2
|
4天前
|
网络协议 Shell Linux
LabVIEW 在NI Linux实时设备上访问Shell
LabVIEW 在NI Linux实时设备上访问Shell
12 0
|
4天前
|
Unix Shell Linux
轻松编写 AIX Shell 脚本
轻松编写 AIX Shell 脚本
14 1
|
4天前
|
Shell Linux
【Linux】进程实践项目(更新中) — 自主shell编写
前几篇文章,我们学习进程的相关知识:进程概念,进程替换,进程控制。熟悉了进程到底是个什么事情,接下来我们来做一个实践,来运用我们所学的相关知识。这个项目就是手搓一个shell模块,模拟实现Xshell中的命令行输入。
13 1
|
4天前
|
监控 关系型数据库 Shell
Shell脚本入门:从基础到实践,轻松掌握Shell编程
Shell脚本入门:从基础到实践,轻松掌握Shell编程
|
4天前
|
关系型数据库 MySQL Shell
在Centos7中利用Shell脚本:实现MySQL的数据备份
在Centos7中利用Shell脚本:实现MySQL的数据备份
|
4天前
|
Shell Linux 信息无障碍
5 个有用的 Linux Shell 转义序列
5 个有用的 Linux Shell 转义序列
|
4天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
30 5
|
4天前
|
Shell 程序员 数据安全/隐私保护
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)