shell变量的赋值方式有五种:直接联系、从键盘读入赋值、使用命令行参数进行赋值、利用命令的输出结果进行赋值和文件中读入数据赋值。

1.直接赋值
在shell中,第一次使用某个变量名时,实际上就已经给变量赋值了。直接赋值的格式为“变量名=变量值”。
注意
直接赋值时禁止在等号两端添加空格。如下图示一个简单的直接赋值:

2.从键盘读入赋值
从键盘读入赋值的命令格式为:read -p [提示信息]:[变量名]
read命令被用来从标准输入读取单行数据。
示例:

结果:

从以上结果可以看出,read命令从标准输入中读取一行,并把输入行的每个字段的值(这里的值是10.9.27.100)赋值给shell变量$ip。
3.使用命令行参数赋值
使用命令行参数赋值是直接在命令后面跟参数,系统用$1来调用第一个参数,使用$2来调用第二个参数。
注意
这种赋值方式适用于参数经常变化且不需要交互的情况。
示例:

结果:

从上可以看出,测试脚本的内容是显示第一个参数$1和第二个参数$2。
4.利用命令的输出结果赋值
在shell程序中,可以将一个命令的输出结果当作变量的值。
注意
在赋值语句中使用反向单引号。
示例:

设置当前日期(格式为2021-03-26)赋值给a变量,也就是说将date + %F命令的输出结果赋值给a,然后用echo $a显示出来。
5.从文件中读入数据赋值
这种方式适用于处理大批量的数据,直接把相应的数据写入文件中。这种方式通常是while循环一行行读入数据,即每循环一次,就从文件中读入一行数据,知道文件的结尾。
示例:

结果:

从以上代码中我们可以看出,文件2.sh的内容通过while循环被读入到脚本中,并且每一行数据都赋值给了execfile,之后用echo显示出来,这里文件的内容读取使用了while的输入从定向。
在shell中,定义或者引用变量应该注意一些问题,如:单引号、双引号、反引号(``)的使用,使用单引号时,不管引号里面是否有变量或者其他表达式,都是原样输出;如果使用双引号,则引号里面的变量或函数会先解析再输出;反引号的作用是命令调用,反引号等价于$()。
使用双引号显示结果,示例:

使用单引号显示结果如下:

使用反引号输出结果如下:

等价于:

©著作权归作者所有:来自51CTO博客作者李白李的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. python基本语法二
  2. 【面试】两个变量进行交替的N种方法
  3. 9.6 C++指向结构体变量的指针
  4. .net项目开发经验
  5. 2021-03-06:go中,公共变量是协程安全吗?赋值操作是原子的吗?为什么?
  6. 解构赋值与流程控制
  7. MySQL的Hash Join能用吗?
  8. js:值传递引用传递、结构赋值、流程控制
  9. JavaScript初学习之赋值、传参、模板字面量、标签函数、解构赋值

随机推荐

  1. Android布局图标中心化
  2. android IApplicationToken分析
  3. 11月29日
  4. Android中接口的使用及类使用
  5. Android 版本号和分支查看
  6. Android使用VideoView全屏播放视频拉伸变
  7. android学习资料与资源记录
  8. android mms 数据库
  9. Android五大布局、日志猫
  10. 渐变的几种效果