Shell编程-变量

时间:2020-02-23 14:45:09  来源:igfitidea点击:

在本教程中,我们将学习变量,并介绍一些Shell编程关键字。

什么是变量?

这些被命名为具有某些值的内存位置。

一旦脚本结束执行,shell脚本中的变量就会消失。

如何在Shell脚本中创建变量?

要在Shell脚本中创建变量,我们必须牢记以下几点。

  • 变量名可以包含字母" a-z A-Z",数字" 0-9"和下划线" _"。

  • 变量名的第一个字符必须是字母或者下划线。

  • 变量名称区分大小写,意味着大写和小写字母的区别对待。
    例如,"hello"和"Hello"即使是同一个词也被视为两个不同的变量。

给变量赋值

为了给变量赋值,我们使用" ="符号,也称为赋值运算符。

在下面的示例中,我们将创建message变量,并为其分配一个字符串值" Hello World"。

message="Hello World"

接受用户输入并将其分配给变量

为此,我们使用read关键字,后跟变量名称。

在下面的示例中,我们接受用户输入并将其保存在变量gameScore中。

read gameScore

变量的打印值

我们使用$来打印存储在变量中的值。

在下面的示例中,我们将打印存储在变量gameScore中的值。

echo $gameScore

空变量

这些是没有任何值的变量。
我们可以通过以下方式创建一个。

x=""
y=''
z=

在上面的代码中,所有三个将创建没有值的空变量。

如果我们回显一个空的变量,那么终端中将显示一个空白行。

只读变量

如果我们想修复存储在变量中的值,即使其变为只读,则可以使用readonly关键字。

readonly a=10

只读变量的值以后不能在脚本中更改。

未设置变量

要从shell存储器中取消设置或者删除值和变量,我们使用关键字" unset"。

在下面的示例中,我们将取消设置值和变量" tempResult"。

unset tempResult

注释

要在shell脚本中创建注释,我们以#井号开头。

执行脚本文件时,注释将被忽略。

编写一个shell脚本以将用户名作为输入并打印问候消息

在此示例中,我们将创建一个"用户名"变量,该变量将保存用户输入的名称。

脚本:username.sh

#!/bin/sh
# take username
echo "Enter username: "
read username

# greetings message
message="Hello $username"

# display greetings
echo $message

说明:

1号线:Shebang行。

第2行:这是我们程序员的注释行,被Shell忽略。

第3行:我们正在使用echo关键字打印字符串" Enter username:"。

第4行:使用read关键字读取用户输入并将其保存在变量username中。

第5行:空行。

第6行:注释行。

第7行:在这一行,我们创建另一个变量message,并分配一个字符串" Hello $username"。

注意! $username提供给我们存储在变量username中的值。

第8行:空行。

第9行:注释行。

第10行:在这一行中,我们正在打印存储在变量消息中的值。

$sh username.sh 
Enter username: 
theitroad
Hello theitroad