linux shell编程规范和变量

这篇具有很好参考价值的文章主要介绍了linux shell编程规范和变量。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、shell简述

二、shell脚本

三、重定向

四、管道符

五、变量

六、shell脚本基本知识 

七、预定义变量小实验

 文章来源地址https://www.toymoban.com/news/detail-458824.html

 

 

 

 

 

 

 

 

 

 

一、shell简述

   概念:shell解释器,翻译官功能,与内核进行沟通的应用程序。

     把代码翻译为二进制,让内核处理,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。

 

  linux的shell:/etc/shells

  用户使用命令时,系统会检测这个文件得到内容,命令在里面才可以使用相关命令。

  bash(/bin/bash)是目前大多数 Linux 版本采用的默认 Shell。

linux shell编程规范和变量

   

二、shell脚本

  shell脚本文件格式:.sh

  运行shell脚本命令:1.sh first.sh

            2.bash first.sh

            3.source first.sh

            4../first.sh(需要赋予权限)

linux shell编程规范和变量

   

  脚本的优点:

    1.自动化运维
    2.批量化重复操作可以编写脚本结合计划任务自动周期运行
    3.减轻管理员工作量
    4.提高处理文本文件的速度
    5.避免配置出错

 

  shell脚本格式:

    1.第一行默认:#!/bin/bash(不输入也是可以,shell脚本默认是有的)

    2.注释:shell脚本应该有注释

    3.可执行语句  

    

  shell脚本的运算:

  expr 可以一般用于整数值,也可用于字符串

  运算符:

  1.加法 +

  2.减法 -

  3.乘法 \ *

  4.除法 /(只会显示整数,除不尽为0)

  5.取余 (取模)%    

  运算法则:

  1.加法: num1 + num2

  2.减法:num1 - num2

  3.乘法:num1 \ * num2

  4.整除:num1 / num2

  5.取余(求模):num1 % num2 (求 num1 除以 num2 的余数)

  例子演示:

linux shell编程规范和变量

 

三、重定向

  1.< 重定向输入(从直到文件输入)

  2.> 重定向输出(直接覆盖直到文件内容)

  3.>> 重定向输出(直接将输出内容加入到直到文件尾部)

  4.2> 重定向错误输出(将错误信息保存到指定文件,覆盖)

  5.2>> 重定向错误输出(将错误信息保存到指定文件)

  6.&> 混合输出(将标准输出和错误输出都保存到同一个文件)

  

  例子演示:重定向输出

linux shell编程规范和变量

 

  重定向面试题:

    如何在不删除文件情况下,将文件清空:

linux shell编程规范和变量

 

四、管道符

  | :主要用在处理文本上,将管道符号“|”左侧的命令输出的结果,作为右侧命令的输入(处理对象),同一行命令中可以使用多个管道。

  例子演示:将test1用户的密码改为123456

linux shell编程规范和变量

 

五、变量

  1.变量类型:1.字符串string(abc)

       2.整型int(1,2)

       3.浮点型(1.1)

       4.布尔型(0,1)

   

  2.变量命名规范:  

    1.不使用系统的命令作为变量名(例如:cd,ls)

    2.不使用中文作为变量名

    3.必要使用特殊符号。(下划线除外)

    4.要有注释

 

  3.自定义变量:由用户自己定义、修改和使用

  变量赋值:格式:变量名=变量值,变量命名规则:以字母或下划线开头,区分大小写

linux shell编程规范和变量

   4.引用变量:引用对应的值,格式:前面加$表示引用变量

linux shell编程规范和变量

   引用加双引号表示弱引用,表示变量的值

  引号加单引号表示强引用,表示变量本身,相当于字符串

  例子演示:

linux shell编程规范和变量

   反撇号表示引用命令执行结果,给变量赋值

linux shell编程规范和变量

   

  5.全局变量

    全局变量概念:在程序或脚本中定义的具有全局范围的变量。

          这意味着全局变量在整个程序或脚本的不同部分都是可见和可访问的,而不仅限于特定的函数、方法或代码块。

    (1)临时全局变量

        export 变量名=变量值

        例子:export a=1(所有登录用户可以使用)

     (2)永久全局变量

        /etc/profile修改配置文件

linux shell编程规范和变量

 

linux shell编程规范和变量

 

linux shell编程规范和变量

 

 

     优点:  

      1.全局范围

      2.持久性

      3.共享性

     副作用:

      1.相同变量名,直接引用全局变量,会导致不确定性,一般使用局部变量

  6.局部变量

    局部变量概念:默认情况下,新定义的变量只在当前的Shell环境中有效,因此称为局部变量。

            当进入子程序或新的子Shell环境时,局部变量将无法再使用。
            可以通过内部命令export将指定的变量导出为全局变量,使用户定义的变量在所有的子Shell环境中能够继续使用。

    (1)临时局部变量

        a=1

     (2)永久局部变量

        .bash_profile

  

  7.环境变量

    查看环境变量:env

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

    PATH="$PATH:/root" #将/root目录添加到搜索路径

    将root添加到全局变量后,系统可以第一时间匹配root的文件

linux shell编程规范和变量

linux shell编程规范和变量

 

 

 

  例子演示:可以看到add.sh实在/root目录下的文件,切换到/opt后无法运行,但是将root目录加入环境变量,就可以运行

linux shell编程规范和变量

 

linux shell编程规范和变量

   8.位置变量

    是在运行脚本或程序时传递给它们的值。位置变量用于将外部数据传递给脚本或程序,以便根据需要进行处理。

linux shell编程规范和变量

 

  

 

 可以看到输入9个数,但num=第9为数和第2位置数相加

linux shell编程规范和变量

 

  9.预定义变量

    预定义变量:通常由编程语言或脚本解释器提供,并根据需要自动设置和更新,不能修改

    $#:表示传入多少个参数

    $@:把各个参数加上双引号分行处理,每个参数作为一个字符串返回

    $*:把所有参数看成以空格分隔的一个字符串整体(单字符串)返回

    $?:表示前一条命令或脚本执行后的返回状态码,返回值为0表示执行正确,返回任何非0值均表示执行出现异常。

  

    例子演示:

      1.$#

linux shell编程规范和变量

 

linux shell编程规范和变量

     2.$@加引号,可以整行输出

   

linux shell编程规范和变量

 

     

linux shell编程规范和变量

   将引号取消,分行显示:

linux shell编程规范和变量

 

linux shell编程规范和变量

 

  3.$@和$*加双引号表现一致

  

linux shell编程规范和变量

 

linux shell编程规范和变量

   4.$?表现判读是否成功

linux shell编程规范和变量

 

 六、shell脚本基本知识 

  1.read -p 获取输入内容

    -p prompt:指定提示符,用于提示用户输入数据。

linux shell编程规范和变量

 

linux shell编程规范和变量

   2.read -a 获取输入数组

    -a array:将输入数据存储到一个数组中。

linux shell编程规范和变量

 

七、预定义变量小实验

  1.判断两个数是否相等

linux shell编程规范和变量

   1代表错误

linux shell编程规范和变量

 

到了这里,关于linux shell编程规范和变量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux系统的shell脚本——变量

    shell脚本变量的类型一般由一下几种类型: 1、用户自定义变量 用户自定义变量顾名思义就是用户自己定义的变量,shell脚本没有数据类型,所有变量均被理解为字符串。所以变量可以无需定义直接使用,就像python中定义变量一样。 变量的使用方法:变量名=数值(字符串)

    2024年02月12日
    浏览(60)
  • Linux:Shell脚本和Shell变量的入门指南

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z05Ey0Tt-1687331750572)(https://example.com/linux-shell-image.png)] Shell脚本是一种用于自动化任务和批处理的脚本语言,主要用于Unix和Linux系统。它提供了一种简单而强大的方式来执行系统命令、处理文件、控制流

    2024年02月10日
    浏览(48)
  • 【Linux脚本篇】shell变量的使用

    目录 🍁shell变量替换 🍁定义变量 🍁shell变量运算 🍂整数运算 🍂小数运算    🦐博客主页:大虾好吃吗的博客    🦐专栏地址:Linux从入门到精通 ${变量#匹配规则}                                         #从头开始匹配,最短删除 ${变量##匹配规则

    2024年02月06日
    浏览(48)
  • 【Linux高级篇】什么是shell脚本,什么是shell变量

    目录 🍁什么是shell 🍂什么是shell脚本 🍂shell脚本能做什么 🍂学习shell需要哪些知识 🍂shell基本规范 🍂shell脚本五种运行方式 🍁shell变量 🍂变量命名规范 🍂shell变量定义的方式 🍃自定义变量 🍃系统环境变量 🍃预定义变量 🍃位置变量 🍃补充变量 🍂shell变量赋值 🍂

    2023年04月25日
    浏览(52)
  • Linux【脚本 04】Shell脚本传递参数的4种方式(位置参数、特殊变量、环境变量和命名参数)实例说明

    Shell脚本是一种命令语言,可以用于自动化执行各种任务。在脚本中,我们可以通过参数来传递信息,这样脚本就可以根据这些信息来执行特定的操作。本文将介绍如何在shell脚本中传递参数,包括位置参数、特殊变量、环境变量和命名参数。 1.1 解释器 #!/bin/bash 称为shebang或

    2024年02月06日
    浏览(85)
  • 【Linux】shell编程(一) 变量

    目录 【Linux基础】shell编程(一) 变量 什么是shell编程 如何运行shell脚本 第一行 #!/bin/bash 第一行叫什么? WHAT IS THIS LINE CALLED? 为什么要加这个,有什么用? shell的变量 变量的赋值和使用 变量替换 位置变量 BASH引号规则 小结 简单的命令可以在命令行中直接输入,但是复杂的

    2024年02月08日
    浏览(36)
  • 【Shell编程】Linux Shell编程入门:输入输出、变量、条件判断、函数和运算

    在Linux操作系统中,Shell编程是一项非常重要的技能。通过Shell编程,我们可以自动化执行各种任务,提高工作效率。无论是系统管理、数据处理还是软件开发,都离不开Shell脚本的应用。本篇博客将带领大家深入了解Shell编程的基础知识,包括输入输出、变量、条件判断、函数

    2024年02月14日
    浏览(53)
  • Linux 系统shell脚本编程笔记——脚本入门

    目录 1、创建shell脚本文件  2、显示消息 3、 环境变量 4、用户变量 5、命令替换 ​编辑  6、重定向输入与输出 6.1、输出重定向  6.2、输入重定向 ​编辑 7、执行数学运算 7.1、expr命令 7.2、bc的基本用法  8、退出脚本 完整笔记请前往此处获取:https://download.csdn.net/download/qq

    2024年02月06日
    浏览(68)
  • Linux——Shell脚本编程(1)

    1)Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理。 2)对于 JavaEE 和 Python 程序员来说,工作的需要,要求你编写一些 Shell脚本进行程序或者是服务器的维护,比如编写一个定时备份数据库的脚本。 3) 对于大数据程序员来说,需要编写Shell程序来管

    2024年02月09日
    浏览(59)
  • Linux_5_Shell脚本编程

    程序:算法+数据结构 数据:是程序的核心 算法:处理数据的方式 数据结构: 数据在计算机中的类型和组织方式 面向过程语言 做一件事情,排出个步骤,第一步干什么,第二步干什么,如果出现情况A,做什么处理,如果出现了情况B,做什么处理 问题规模小,可以步骤化,按部

    2024年02月13日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包