Linux之Shell进阶(变量和条件判定语句)

这篇具有很好参考价值的文章主要介绍了Linux之Shell进阶(变量和条件判定语句)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

变量

变量的含义

什么是量?

  • 量就是数据.

什么是变量?

  • 数据可以发生改变就是变量。

在一个脚本周期内,其值可以发生改变的量就是变量。
什么叫做一个脚本周期?

  • 一个脚本周期我们可以简单的理解为当前的shell文件。

变量是shell中不可或缺的一部分,也是最基础、最重要的组成部分。

变量的定义与使用(重点)

变量,先定义后使用。

定义形如:hello=“hello 666”
使用形如:echo $hello

变量就是由2部分组成,一个是变量名(左边),另外一部分是变量的值(右边),类似于Java中变量的定义,只不过Java中的变量还有个变量类型。

变量名和变量值是什么关系??
变量名和变量值是使用和被使用关系; 我们的变量名来使用变量值;
在使用变量的时候一定需要在变量名前面添加一个$符号,该要求在其他语言中也存在的(例如php)。

变量名的规范
注意,变量名后面的等号左右不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

  • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
  • 中间不能有空格,可以使用下划线“_”。
  • 不能使用标点符号。
  • 不能使用bash里的关键字(可用help命令查看保留关键字)。

问题:以下哪个shell变量名是合法的?
A. var B.?var C. user*name D.echo

案例1:使用变量改写入门脚本中的第1个shell脚本。

#!/bin/bash
hello="hello world 666"
echo $hello
[root@localhost aaa]# ./test.sh
hello world 666

关于单双引号的问题:

  • 双引号能够识别变量,双引号能够实现转义(类似于“*”)
  • 单引号是不能识别变量,只会原样输出,单引号是不能转义的

案例2:定义一个变量,输出当前时间,要求格式为“年-月-日 时:分:秒”。

#!/bin/bash
datetime=`date +'%F %T'`
echo $datetime

注意:反引号(esc键下方的那个键),当在脚本中需要执行一些指令并且将执行的结果赋给变量的时候需要使用“反引号”。

只读变量

语法:readonly 变量名
案例:定义变量a并且其值为10,随后设置其为只读变量,再去尝试重新赋值

#!/bin/bash
a=10
readonly a
a=20
echo $a
[root@localhost aaa]# ./test2.sh
./test2.sh: line 4: a: readonly variable
10

接收用户输入

语法:**read -p 提示信息 变量名**
案例:编写一个脚本test6.sh,要求执行之后提示用户输入文件的名称(路径),然后自动为用户创建该文件

#!/bin/bash
read -p '请输入需要创建的文件路径'  filepath
touch $filepath
echo '文件创建成功,路径为:'$filepath

Linux之Shell进阶(变量和条件判定语句),?Linux,shell,linux,虚拟机,原力计划

删除变量

语法:unset 变量名
案例:定义变量b=20,再输出b的值,随后删除b,最后再输出下b

#!/bin/bash
b=10
echo $b
unset b
echo $b

Linux之Shell进阶(变量和条件判定语句),?Linux,shell,linux,虚拟机,原力计划

条件判断语句

老婆给当程序员的老公打电话:下班顺路买一斤包子带回来,如果看到卖西瓜的,买一个。当晚,程序员老公手捧一个包子进了家门…老婆怒道:你怎么就买了一个包子?!老公答曰:因为看到了卖西瓜的。
把程序员老婆的话当作一段需求分析一下吧。买一斤包子是一个确定无疑的需求项,无论后面是什么情况什么条件,前面这一斤包子是肯定要买的。看到卖西瓜的是一个条件判断,后面“买一个”是一个模糊不清的需求项,买一个什么呢?需求里没说啊。客户把这个当作开发人员默认了解的内容了。可是作为一个成熟合格的程序员,该老婆的丈夫应该马上跟进确认需求“买一个什么?”,要不然程序可怎么写呢?所以笑话里该程序员是不合格的,起码是不积极不负责的。在没有明确需求的情况下,他只能按照自己的理解来完成工作了。那比较可能的结果就有如下几种:

  1. 看到卖西瓜的,买一个西瓜
    如果看到卖西瓜的
    那么
    买一个西瓜
    否则
    买一斤包子
  2. 看到卖西瓜的,买一个包子
    如果看到卖西瓜的
    那么
    买一个包子
  3. 看到卖西瓜的,买一个卖西瓜的
  4. 看到卖西瓜的,买一个老婆一直想买的东西
  5. 看到卖西瓜的,随便买一个东西

上述1和2下面的条件汉字描述称之为“伪代码”,也是属于条件表达式的语法。

语法1(一个条件):
if condition
then
command1
command2

fi

单行写法(一般在命令行中执行的时候):if [ condition ]; then command; fi

语法2(两个条件):
if condition
then
command1
command2

else
command
fi

语法3(多个条件):
if condition1
then
command1
elif condition2
**then **
command2
else
commandN
fi

相关文章:Linux之Shell基础入门

本文内容到此结束了,
如有收获欢迎点赞👍收藏💖关注✔️,您的鼓励是我最大的动力。
如有错误❌疑问💬欢迎各位指出。
主页:共饮一杯无的博客汇总👨‍💻

保持热爱,奔赴下一场山海。🏃🏃🏃文章来源地址https://www.toymoban.com/news/detail-557939.html

到了这里,关于Linux之Shell进阶(变量和条件判定语句)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • lv3 嵌入式开发-5 linux shell脚本编程(概念、变量、语句)

    lv3 嵌入式开发-5 linux shell脚本编程(概念、变量、语句)

     Shell脚本是利用 shell 的功能所写的一个程序。这个程序是使用纯文本文件,将一些 shell 的语法与命令(含外部命令)写在里面,搭配正则表达式、管道命令与数据流重定向等功能  第一个Shell脚本文件 变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念

    2024年02月10日
    浏览(14)
  • Linux之shell条件测试

    Linux之shell条件测试

    目录 作用 基本用法 格式: 案例 -f 用法 [ ] 用法 [[]] 用法 (()) 语法 文件测试 参数 案例 编写脚本,测试文件是否存在,不存在则创建 整数测试 作用 操作符 案例 系统用户个数小于50的则输出信息 逻辑操作符 符号 案例 命令分隔符 案例分析 案例1 --- 判断当前已登录的账户

    2024年02月07日
    浏览(8)
  • 【Linux | Shell命令】Linux 环境变量

    【Linux | Shell命令】Linux 环境变量

    Linux 系统中,很多程序和脚本通过环境变量来获取系统信息、存储临时数据和配置信息,了解去哪里设置相应的环境变量很重要。 本文总结了Linux 环境变量:它们存储在哪里、如何使用,以及如何创建自己的环境变量,最后会以数组变量的用法作结。 环境变量允许在内存中

    2024年02月12日
    浏览(8)
  • 【shell脚本】条件语句

    【shell脚本】条件语句

    测试表达试是否成立,若成立返回0,否则返回其它数值 符号 作用 -d 测试是否为目录 -e 测试是否为目录或文件 -f 测试是否为文件 -r 测试当前用户是否有读取权限 -w 测试当前用户是否有写入权限 -x 测试当前用户是否有执行权限 1.1.2整数比较常用的操作符 英文符号 算数符号

    2024年02月02日
    浏览(6)
  • Shell编程之条件语句

    Shell编程之条件语句

    在简单的Shell脚本程序中,各语句将 按先后顺序依次执行 ,从而实现批处理的自动化过程。然而,单一的顺序结构使得脚本过于机械化,不够智能,难以处理更加灵活的系统任务。 本章主要讲了 条件测试,包括文件测试、整数值比较、字符串比较和逻辑测试 。以及如何使用

    2024年02月01日
    浏览(6)
  • 【Shell编程之条件语句】

    【Shell编程之条件语句】

    测试表达式是否成立,若成立返回0,否则返回其他数值 2.1、常用的测试操作符 命令 解释 -d 测试是否为目录(Directory) -e 测试目录或文件是否存在(Exist) -f 测试是否为文件(File) -r 测试当前用户是否有权限读取 (Read) -w 测试当前用户是否有权限写入 (Write) -x 测试当前用户是否有权

    2023年04月27日
    浏览(7)
  • shell脚本----条件判断语句

    shell脚本----条件判断语句

    文件测试 test命令 测试表达是是否成立,若成立则返回0,否则返回其他的数 用法一:test 条件表达式 用法二:[ 条件表达式 ] 选项 含义 -e 测试目录或者文件是否存在 -d 测试是否为目录 -f 测试是否为文件 -r 测试当前用户是否有读的权限 -w 测试当前用户是否有写的权限 -x 测

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

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

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

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

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

    【Linux高级篇】什么是shell脚本,什么是shell变量

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

    2023年04月25日
    浏览(8)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包