shell 编程----变量
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-10
shell 变量 1 变量 在shell中变量是无类型可言的,因此也无需进行声明.当我们为一个变量赋值时就相当于定义了一个变量. 如: $myvar=“Hello World” $echo $myvar 输出结果为Hello World.第一行我们就相当于定义了一个变量myvar,并给他赋值“Hello World”.第二行输出变量的值.符号$用于取变量的内容.是一种特殊字符.可以在前面加去除它的特殊含义.如: $echo $myvar 此时$已变为一个特殊字符,输出结果为$myvar shell中的变量无类型,因此一个变量可以存储不同的值,如数字和字符串等,它均把这些值作为字符串 进行存储.如: $myvar=6 8 $echo $myvar 输出结果为6 8,而不是14. 命令echo用于将变量的内容输出到终端上,从终端读取变量的内容的命令为read.如: $read sal $hello world $echo sal 输出结果为:hello world.从以上命令可以看出,当我们使用一个变量时就等于定义了一个变量,并不一定非要非变量赋值时才算是定义一个变量. 2 使用引号 引号有单引号和双引号之分,它们的含义也不相同.共有一下几种情况: (1)带空格普通字符串 $myvar="Hello World" 如果将一个带空格字符串赋值给一个变量,使用双引号引起来.否则会出错. (2)变量值替换 echo "$myvar" 程序执行到上句代码时会将"$myvar"替换为"Hello World".此时代码为: echo "Hello World" 输出结果为Hello World (3)变量变字符串 echo ''$myvar'' 输出结果为$myvar. 3 环境变量 环境变量是一种特殊的变量,它一般都使用大写字母做名字,用于区别用户定义的变量.这些系统变量在安装系统后就被定义好了,当然还可以改变它们的值.下面列出一些常见的环境变量: 拥有帝国一切,皆有可能。欢迎访问phome.net $HOME 当前用户的主目录 $PATH 以冒号分割的用来搜索命令的目录列表 $PS1 命令提示符,通常是$字符,但在bash中,你可以使用一些更复杂的值.例如,字符串[u@hw]$就是一个流行的默认值,它给出用户名、机器名和当前目录名,当然也包括一个$提示符. $PS2 二级提示符,用来提示后续输入,通常是>字符. #IFS 输入分割符.当shell读取输入时,用来符个单词的一组字符,它们通常是空格,制表符和换行符. $0 shell脚本的名字 $# 传递给脚本的参数个数 $ shell脚本的进程号,脚本程序通常会用它来生成一个唯一的临时文件,如/tmp/tempfile_$ 如果想知道以上变量的值,可以使用echo命令进行输出查看. 4 参数变量 $1,$2... 脚本程序的参数 $* 在一个变量中列出所有的参数,各个参数之间用环境变量IFS的第一个字符分割开. $@ 它是$*的一种精巧的变体,它不使用IFS变量,当IFS为空时,参数的值不会结合在一起. (1)$*和$@的区别 $IFS='''' $set foo bar bam $echo $@ $echo $* $unset IFS $echo $* $echo $@ 以上程序的输出结果按照书上介绍应该是不相同的,而我在ubuntu上测试的结果则是相同的.没看出$@和$*的区别. (2)了解参数变量 * 建立一个shell脚本如下: #!/bin/bash myvar="Hello World" echo $myvar echo "The program $0 is now running" echo "The second parameter is $2" echo "The first parameter is $1" echo "The parameter list is $*" echo "The user''s home directory is $HOME" echo "Please enter a new greeting" read myvar echo $myvar echo "The script is now complete" exit 0 * 修改脚本文件属性可执行 chmod x shell * 执行脚本文件 ./shell first second 拥有帝国一切,皆有可能。欢迎访问phome.net first和second是给脚本文件传进去的参数.这和windows系统下的命令参数类似. * 输出结果 Hello World The program ./shell is now running The second parameter is second The first parameter is first The parameter list is first second The user''s home directory is /home/hoiman Please enter a new greeting hi hi The script is now complete 本文出自 “乘风破浪” 博客,请务必保留此出处http://ihome.blog.51cto.com/2033151/427840 拥有帝国一切,皆有可能。欢迎访问phome.net |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: oracle 10g安装下一篇: linux 每日学一点《Linux用户及用户组管理命令》
关于shell 编程----变量的所有评论