你好,游客 登录 注册 搜索
背景:
阅读新闻

shell变量的使用

[日期:2016-09-02] 来源:Linux社区  作者:winifred-tang94 [字体: ]

shell环境中变量有三种类型:

a、  环境变量;可以在shell脚本中直接利用“$环境变量名称”的形式引用。

b、  用户自定义变量;不需要事先定义,通常情况下,使用变量的时候直接对变量赋初值。变量名称=变量初始值(注意:变量名称的要求——首字符必须是字母,可以用下划线,但是不能有标点符号和空格,不能使用shell里的关键字)

c、  系统全局变量;代表了特定含义,不能被用户修改。一般来说,主要的全局变量包括以下几个:

$#:执行shell脚本时,命令行参数个数,不包括脚本本身。

$?:执行上一条shell命令的返回值(退出状态,大部分命令执行成功返回0,失败返回1,不过也有一些其他命令返回其他值标识其他错误)。

$0:shell脚本程序自身的名称。同时,$1代表shell命令行中第一个参数,$2代表第二个参数,$3代表第三个参数,以此类推。

$*:传递给脚本或函数的所有参数。

$$:当前shell进程ID,就是当前脚本所在的进程ID。

要在脚本中使用变量则是利用“$变量名称”的方法。

Eg.创建一个脚本计算两数之和

值得注意的一点:在使用expr进行运算时,运算符两边要记得加空格。

结果是:

一开始出错如下:

原因:这个脚本文件需要除了脚本本身以外的参数,运行脚本的时候没有输入参数。

 

$* 和 $@的区别:

$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。 但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数。

Eg.

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-09/134858.htm

linux
相关资讯       shell变量 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款