
第17讲 第7章Shel1脚本设计 7.2使用变量 7.2.1变量的创建和引用 7.2.2变量的读入和输出
第17讲 第7章 Shell脚本设计 7.2 使用变量 7.2.1 变量的创建和引用 7.2.2 变量的读入和输出

引言 如何创建和引用变量? 如何读入内容到变量? 。如何输出变量内容? 第17讲使用变量第2页共14页
第17讲 使用变量 第2页 共14页 引 言 ❖如何创建和引用变量? ❖如何读入内容到变量? ❖如何输出变量内容?

【问题2的提出】 ÷Geecy软件开发公司的开发人员Tom已经开始 使用自己开发的脚本update。但随之而来又 产生一个新问题:很多时候需要产生不同文 件名的数据文件,也就是说,文件名不一定 是固定的“data.txt”! 第17讲使用变量第3页共14页
第17讲 使用变量 第3页 共14页 【问题2的提出】 ❖ Geecy软件开发公司的开发人员Tom已经开始 使用自己开发的脚本update。但随之而来又 产生一个新问题:很多时候需要产生不同文 件名的数据文件,也就是说,文件名不一定 是固定的“data.txt”!

【问题2分析】 。这个问题本身不难。Tom立刻就想到了解决的方法: 例如,如果要求产生的数据文件名字为“new.txt”, 则可以: ./update mv data.txt new.txt 也就是说,每次执行脚本update.之后,再运行一个 文件重命名的命令。 ÷更好的解决方法是在脚本中使用变量。 第17讲使用变量第4页共14页
第17讲 使用变量 第4页 共14页 【问题2分析】 ❖ 这个问题本身不难。Tom立刻就想到了解决的方法: 例如,如果要求产生的数据文件名字为“new.txt” , 则可以: ./update mv data.txt new.txt 也就是说,每次执行脚本update之后,再运行一个 文件重命名的命令。 ❖ 更好的解决方法是在脚本中使用变量

7.2.1变量的创建和引用 变量创建 使用Bash Shell,用户不需要显式地声明变 量。用户可以在赋值给一个新变量的同时, 创建变量。 ~创建变量并赋值的语法是: =表示将要创建的变量名。 (2)表示赋给变量的值。 (3)赋值运算符“=”的两边必须没有空白。 第17讲使用变量第5页共14页
第17讲 使用变量 第5页 共14页 7.2.1 变量的创建和引用 变量创建 ❖ 使用Bash Shell,用户不需要显式地声明变 量。用户可以在赋值给一个新变量的同时, 创建变量。 ❖ 创建变量并赋值的语法是: = 其中: (1)表示将要创建的变量名。 (2)表示赋给变量的值。 (3)赋值运算符“=”的两边必须没有空白

7.2.1变量的创建和引用 变量创建 ·上面创建了3个变量并分别予以赋值,注意有些符 号不允许使用。 ÷声明变量的时候,用户不需要指定变量的类型。 因为Shel1脚本中的变量都被当作是字符串. 。如果所赋值的内容没有空格,可以不使用引号。 第17讲使用变量第6页共14页
第17讲 使用变量 第6页 共14页 7.2.1 变量的创建和引用 变量创建 ❖ 上面创建了3个变量并分别予以赋值,注意有些符 号不允许使用。 ❖ 声明变量的时候,用户不需要指定变量的类型。 因为Shell脚本中的变量都被当作是字符串。 ❖ 如果所赋值的内容没有空格,可以不使用引号

7.2.1变量的创建和引用 变量引用 。当需要引用一个变量的内容,需要使用符号“$”。为了不引 起歧义,一般还需要配合花括号“{}”。 。只有不涉及字符串的连接时, “{}”才是可用可不用的。 [IzyORH9-Linux lzy]$author=lzy 1zyORH9-Linux lzy]S title=The world is flat!" -bash:!"event not found [1zy0RH9-Linu×1zy]9 title="The world is flat" [1zy0RH9-Linu×1zy]S price=28 [1zy0RH9-Linu×1zy]S BookAuthor-$(titlesauthor) [1zy0RH9-Linu×1zy]S 注意此处并未涉及变量的显示问 题,未报错已经表明使用正确。 第17讲使用变量第7页共14页
第17讲 使用变量 第7页 共14页 7.2.1 变量的创建和引用 变量引用 ❖ 当需要引用一个变量的内容,需要使用符号“$” 。为了不引 起歧义,一般还需要配合花括号“{ }” 。 ❖ 只有不涉及字符串的连接时, “{ }”才是可用可不用的。 注意此处并未涉及变量的显示问 题,未报错已经表明使用正确

7.2.2 变量的读入和输出 1、输出变量内容 。如果需要输出内容到屏幕,用户可以使用echo命令。使用 echo命令的语法是:echo[-n]String 其中:(l)String表示将要输出的字符串。 (2)选项-n表示输出String后,不输出回车换行符。 第17讲使用变量第8页共14页
第17讲 使用变量 第8页 共14页 7.2.2 变量的读入和输出 1、输出变量内容 ❖ 如果需要输出内容到屏幕,用户可以使用echo命令。使用 echo命令的语法是:echo [-n] String 其中:(1)String表示将要输出的字符串。 (2)选项-n表示输出String后,不输出回车换行符

7.2.2变量的读入和输出 1、输出变量内容 默认情况下,echo命令输出字符串后,接着输出一个回车换行符,使光标移动 到下一行的行首,等待后面的输出。 。如果选用了选项,表示不换行继续输出。 。用户也可以先保在一个字符串内容到变量,然后在需要的地方输出该变量内容 [lzyeRH9-Linux lzy]$cat echofile t?/him/hagh str1="This is the first line." str2="This is 2nd," str3="This is also 2nd." str4="This is 3rd." echo Sstr1 echo (-n)Sstr2 echo Sstr3 echo Sstr4 [lzyORH9-Linux lzy]$./echofile This is the first line. This is 2nd,This is also 2nd. This is 3rd. [1 zy@RH9-Linu×1zy]s 量第9页共14页
第17讲 使用变量 第9页 共14页 7.2.2 变量的读入和输出 1、输出变量内容 ❖ 默认情况下,echo命令输出字符串后,接着输出一个回车换行符,使光标移动 到下一行的行首,等待后面的输出。 ❖ 如果选用了选项-n,表示不换行继续输出。 ❖ 用户也可以先保存一个字符串内容到变量,然后在需要的地方输出该变量内容

7.2.2变量的读入和输出 2、读入内容到变量 ·除了直接赋值给变量,用户也可以丛键盘中读入二 个值赋给变量,然后在shell脚本的后面根据需要 使用该变量。 ÷使用read命令从键盘读入内容到变量。 ÷当脚本解释执行到read命令的时候,将会暂停并等 待用户的键盘输入。当用户输入内容并按回车键后, 后面的语句将继续执行。 一第17讲使用变量第10页共14页
第17讲 使用变量 第10页 共14页 7.2.2 变量的读入和输出 2、读入内容到变量 ❖ 除了直接赋值给变量,用户也可以从键盘中读入一 个值赋给变量,然后在shell脚本的后面根据需要 使用该变量。 ❖ 使用read命令从键盘读入内容到变量。 ❖ 当脚本解释执行到read命令的时候,将会暂停并等 待用户的键盘输入。当用户输入内容并按回车键后, 后面的语句将继续执行