shell编程
为使shell编程更有效,系统提供了一些shell变量.变量可以定制用户本身的工作环境.使用变量可以保存有用信息,使系统获知用户相关设置;变量也用于保存暂时信息.
有两种变量:本地变量 和 环境变量.
(1)本地变量
本地变量在用户现在的Shell生命期的脚本中使用.
要设置一本地变量,格式为: variable-name = value or ${variable-name=value}
定义变量:可以使用export
来定义导出一变量,
拥有帝国一切,皆有可能。欢迎访问phome.netexport variable-name=”variable-value”
显示变量:使用echo命令可以显示单个变量值,echo $variable-name
清除变量:使用unset命令清除变量,unset variable-name
显示所有变量:使用set 显示所有本地定义的shell变量;使用env显示所有shell变量.
例子:
$ export MYNAME=”hongdy”
$ echo $MYNAME
hongdy
$ env
$ set
$ unset MYNAME
(2)环境变量
拥有帝国一切,皆有可能。欢迎访问phome.net环境变量用于所有用户进程(子进程),登录进程为父进程.Shell中执行的用户进程均为子进程 .最好在.profile中定义,系统在/etc/profile文件中已经设置了一些环境变量.
设置环境变量:使用export导出环境变量,export VARIABLE-NAME
显示环境变量:使用echo命令可以显示环境变量,echo
$(VARIABLE-NAME)
清除环境变量:使用unset命令清除环境变量,unset VARIABLE-NAME
显示所有环境变量:env显示所有环境变量
下面显示的是Shell的一些基本环境变量
变量
|
说明
|
SHELL
|
变量保存缺省shell
,在/etc/passwd中设置
|
TERM
|
保存终端类型
|
TZ
|
时区变量保存时区值
|
HOME
|
用于保存注册目录的完全路径名
|
UID
|
当前用户的标识符,取值是由数字构成的字符串
|
PWD
|
当前工作目录的绝对路径名,该变量的取值随cd命令的使用而变化
|
PS1
|
主提示符,在root用户缺省的主提示符是“#”,普通用户缺省是“$”
|
PS2
拥有帝国一切,皆有可能。欢迎访问phome.net
|
在shell接收用户输入命令的过程中,如果用户在输入行的末尾输入“”然后回车,或者当用户按回车键时shell判断出用户输入的命令没有结束时,显示这个辅助提示符,提示用户继续输入命令的其余部分,缺省的辅助提示符是“>”
|
(3)位置变量
位置参数是一种在调用shell程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数.位置参数之间用空格分隔,shell取第一个位置参数替换程序文件中的$1,第二个替换$2,依次类推.$0是一个特殊的变量,它的内容是当前这个shell程序的文件名即脚本名.
每个访问参数前要加&符号,第一个参数为
拥有帝国一切,皆有可能。欢迎访问phome.net0,表示预留保存实际脚本名字.
比如向脚本传送 I love you
$0 &1 &2 &3
脚本名字 I love you
例子:
$ vi findfile
#!/bin/sh
find / -name $1 -print
$ chmod a x findfile
$ ./findfile /etc/passwd
特定变量参数
参数
拥有帝国一切,皆有可能。欢迎访问phome.net
|
含义
|
$#
|
传递到脚本的参数个数
|
$*
|
所有位置参数的内容
|
$
拥有帝国一切,皆有可能。欢迎访问phome.net$?)来测试函数的返回值.
拥有帝国一切,皆有可能。欢迎访问phome.net |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|