linux基础(十一)—-linux编程基础—-变量
最后更新于:2022-04-01 11:24:41
linux编程基础 跟 其它语言的编程基础大同小异,涉及到变量,语法,流程控制等。
ps:
linux的程序编译解析时 是一行一行的编译解析,所以不写;也可以。
我们这里还是大概了解一下。
## linux变量分类
Linux使用下列两种变量:
局部变量:由程序员建立,且仅供程序员所设计的程序使用。
环境变量:由程序员或他人建立,程序员和他人的程序都可以使用。
每当程序需要保存数据时,就可以建立(或声明)一个局部变量。这个局部变量仅能被声明者本人的程序使用。
每当登录Linux的时候,就可以会看到一连串的变量,这些变量就是环境变量。环境变量包含许多关于用户和计算机的信息。
例如,EDITOR就是一个通用环境变量。赋给这个环境变量的值,就是停驻在计算机上某文本编辑器的名字。
## 声明变量
在保留字declare和export后面加上一个变量名就可以创建一个变量,请看下面的例子:
declare FirstNarne
export editor
在这个例子中,共创建了两个变量:
保留字declare声明了一个环境变量FirstName。
保留字。export使得变量editor可由环境存取。
## 放置变量
在linux程序中,并没有规定要在何处声明一个变量。事实上,在程序中的任何位置都可以声明一个变量。但是,随意放置变量并不是一个好程序员所干的,因为这样可能会增大下次读程序查找它时的困难。
把所有的变量都放在程序的开头不失为一种良好的编程习惯,因为这样一来,在需要查找它们时也比较容易。
## 合并多个变量
在同一行上,一次可以同时声明一个或多个同类型的变量(比如说两个),如下例所示:
declare FirstName LastName
当然,只要该行能放下,还可以声明更多的变量。不过要注意,每个变量之间都要用一个空格隔开。
我们不必搜索程序中的每一行,只要看看程序开始部分的几行,就可以检查所有的变量
## 给变量命名
我们可以给变量任意命名。
例如,将一个变量命名为SSNum,并在其中存人一个电话号码。
但是,这个变量名相对于电话号码来说,并没有多少意义。
为了使编程变得更容易,应当给变量取一个合适的名字,让他人(包括我们自己)也能明白里面放的究竟是什么类型的数据。仅当打算在变量中存放一个社会福利号时,将变量命名为SSNum才算比较合适—就像用变量FirstName来存储某人的名字一样。
给变量命名,有以下几条规则:
任何变量都必须以一个字母为开头;
任何变量都只能由字母(包括大、小写)、数字和下划线(_)组成;
变量中不能有空格。
当然,我们不能把保留字用作变量。
## 将数赋给变量
在创建好变量之后,也许想给变量塞点什么东西。这种行为过程称之为给变量赋值。
给一个变量赋值,使用等号(=)和保留字let就足够了。
这两个符号(等于号和保留字let)的意思是,告诉计算机将某一个特定的数值赋给某一个特定的变量。
假设读者的薪金是一百万:下面举一个例子,来说明如何将这个值(1000000)赋给一个数字变量MySalary,如:
let MySalary=1000000
一个变量仅有一个值。不过,还可以通过给变量另赋一个值的方式来修改这个值。这时,计算机会把老值覆盖掉而用另一个新值来取代它。老值永远都是被抛弃者。
如果读者因为工作努力,老板给你薪金加倍,则这个例子变成:
let MySalary=1000000
let MySalary=2000000
## 将字符串赋给变量
给变量赋字符串就像给变量赋数值一样简单,但二者之间还是有一些区别的,如:
要用保留字declare或export声明一个字符串变量。
字符串两边必须带有引号,以便告诉计算机字符串从哪儿开始及从哪儿结束。
当在程序中引用变量时,必须在变量前加一个美元符号($)。
现在,可以把一个人的人名(first name)赋值给一个字符串变量了,如:
declare FirstName ="Mary"
或者把一个人的名和姓都赋给一个字符串变量,如:
declare Name=“Mary Smith"
甚至还可以把一句完整的话赋给一个字符串变量,如:
declare MyGoal=“Buy out Bill Gates"
有时,字符串是由数字而不是由字母组成,但它们仍属于字符串,例如下面的一个电话号码:
declare Telephone="555-5555"
别忘了这条规则:在字符串两边用引号引起来。引号的目的是告诉Linux所有出现在引号之间的字符都应作为一个字符串处理。
## 将一个变量赋给其他变量
我们可以将数据存储在一个变量之中,然后再将它赋值给另外一个变量。这时,就有该数据的两个备份,而计算机并不会将数据从原来的变量中删去。
下面的例子说明,通过使用一个字符串变量,如何将字符串从一个变量复制到另外一个变量之中:
declare MyGoal ="Buy out Bill Gates"
declare OurGoal=”$MyGoal"
在这个例子中,计算机先找到变量MyGoal,并从它那儿复制数据;然后,计算机去取该数据,并把它放入变量OurGoal中。不过,在这里使用的是初始变量名MyGoal,并在其前面加上了一个美元符号($)。
当然,用数字变量也同样可以执行这个数据复制过程,如下例所示:
let MySalary =1000000
let OurSalaries=$MySalary
在这个例子中,计算机将变量Myalary的值拷贝给变量OurSalaries。此时,变量OurSalaries的值Myalary一样也是1000000。不过,变量MySalary中的值仍保持不变。