当前位置: 首页 > 科技观察

Bash初学者系列2:了解bashshell脚本中的变量

时间:2023-03-14 16:34:34 科技观察

如果您曾经用编程语言编写过程序,那么您肯定遇到过变量。在编写bash脚本时,变量也是一个非常重要的概念。今天我们分享如何在bash脚本中使用变量。在bashshell脚本中使用变量在上一篇文章中,我们介绍了如何在bash中编写一个helloworld:#!/bin/bashecho'你好,世界!'这是一个非常简单的helloworld,现在我们修改为稍微高级一点的helloworld。我们在里面定义变量,使用read命令接收用户的输入,将用户的输入赋值给变量:#!/bin/bashecho"What'syourname,strange?"readnameecho"Hello,$name"运行上面的脚本,系统会提示你输入一个名字,然后打印出你输入的名字,如下:$./hello.sh陌生人,你叫什么名字?ElliotHello,Elliot上面脚本的反汇编说明现在我们将逐行反汇编上面的脚本。首先是shebang行,以明确我们正在使用bashshell运行此脚本。#!/bin/bash接下来,提示用户输入姓名:echo"What'syourname,stranger?"这是一个简单的echo命令,它向终端打印一行信息。那么下面就是比较“高级”的地方:readname在这里,我们使用read命令将终端的控制权从脚本交给用户,让用户输入一个名字,然后将输入的内容存储起来名称变量中的用户。最后,脚本打印出问候信息:echo"Hello,$name"这里需要注意的是,在使用变量时,需要在变量名前加上美元符号$,才能获取变量名中存储的值。如果省略美元符号,则变量名作为普通字符串输出。这个美元符号在bash脚本中称为取消引用运算符。关于整数、字符串或字符,如何在bashshell中创建不同数据类型的变量?让我们仔细看看变量。我们可以使用等号来创建和设置变量的值。例如,下面一行将创建一个名为age的变量并将其值设置为27:age=27变量创建后,您可以根据需要更改其值:age=3变量可以保存不同类型的数据,整数,字符串或字符。letter='c'color='blue'year=2020bashshell中的常量你可以在bash中创建常量,即值不会改变的变量。这可以通过在变量名前添加只读命令来实现:readonlyPI=3.14159上面的命令将创建一个常量变量PI并将其值设置为3.14159。这样就无法在脚本中修改PI的值。如果尝试修改,会报错:bash:PI:readonlyvariablecommandsubstitution(命令替换)将命令的输出存储到变量中的能力称为命令替换,这是bash中最重要的东西特点之一。如下命令所示,date命令的输出会保存在变量TODAY中,但需要注意的是data命令需要放在一对括号中,并且前面必须加美元符号$ofit:TODAY=$(date)或者用一对反引号将命令括起来:TODAY=`date`使用反引号是老办法,所以我们推荐使用括号:variable=$(command)我们可以在改进我们之前编写的helloworld中使用它。在上面的例子中,我们要求用户在脚本中输入名字。在这个例子中,我们没有要求用户输入,而是使用whoami命令获取当前用户的名字,如下:#!/bin/bashecho"Hello,$(whoami)"isonly两行代码,非常简洁。运行:./hello.sh以上就是本次分享的全部内容,欢迎讨论。