文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>shell变量

shell变量

时间:2007-08-05  来源:cdy_0

1.变量设置
Va r i a b l e - n a m e = v a l u e      设置实际值到v a r i a b l e - n a m e
Va r i a b l e - n a m e + v a l u e      如果设置了v a r i a b l e - n a m e,则重设其值
Va r i a b l e - n a m e : ? v a l u e     如果未设置v a r i a b l e - n a m e,显示未定义用户错误信息
Va r i a b l e - n a m e ? v a l u e       如果未设置v a r i a b l e - n a m e,显示系统错误信息
Va r i a b l e - n a m e : = v a l u e    如果未设置v a r i a b l e - n a m e,设置其值
Va r i a b l e - n a m e : - v a l u e    同上,但是取值并不设置到v a r i a b l e - n a m e,可以被替换

2.使用u n s e t命令清除变量
$ unset variable-name
使用s e t命令显示所有本地定义的s h e l l变量
$ set

3.测试变量
如果设置了变量值,则使用它,如果未设置,则取新值来显示,而变量的实际内容没变化,没有赋新值.
$ color=bule
$ unset color
$ echo "the color is : ${color:-red}"
the color is :red
$ echo "color is : $color"
color is :
如果使用${color:=red},则color设置新值为red

4.执行下面的脚本如果直接回车,则使用默认值,如果输入新值则使用新值:
#!/bin/sh
echo "what time do you wish to start [15:00]:"
read time
echo "you start at ${time:=15:00}"

5.设置只读变量
$ NAME=chen
$ readonly NAME

查看所有只读变量
$ readonly
declare -r NAME="chen"
...

6.设置环境变量
传统上,所有环境变量均为大写。环境变量应用于用户进程前,必须用e x p o r t命令导出。
$ export AAA=ok
或:
$ AAA=ok;export AAA
用env查看所有环境变量
注意:
  •  一个shell中的环境变量(用export定义的)只在该shell或子shell中有效,该shell结束时,变量消失。
  •  不用export定义的变量只对该shell有效,对子shell也是无效的。
  •  执行脚本时是在一个子shell中运行的,脚本执行完后该子shell自动退出.
7.嵌入shell变量
Brourne shell 有一些预留的环境变量名,这些变量名不能用作其他用途。通常在/etc/profile中建立这些嵌入的环境变量.
    CDPATH执行cd命令时使用的搜索路径
 HOME 用户的home目录
    EXINIT变量保存使用v i编辑器时的初始化选项
    LOGNAME此变量保存登录名
 IFS 内部的域分割符,一般为空格符、制表符、或换行符
 MAIL 指定特定文件(信箱)的路径,有UNIX邮件系统使用
 PATH 寻找命令的搜索路径(同dos的config.sys的 path)
 PS1 主命令提示符,默认是"$"
 PS2 从命令提示符,默认是">" (当需要多行显示时)
    SHELL变量保存缺省shell
 TERM 使用终端类型

8.set命令
使用s e t命令- a选项,即set -a指明所有变量直接被导出

9.位置变量参数
要向一个s h e l l脚本传递信息,可以使用位置参数完成此功能
$0: 表示脚本名,$1: 表示第一个参数,$9: 表示第九个参数

10.特定s h e l l变量
$ #     传递到脚本的参数个数
$ *     以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个
$ $     脚本运行的当前进程I D号
$ !     后台运行的最后一个进程的进程I D号
$ @    与$ #相同,但是使用时加引号,并在引号中返回每个参数
$ -   显示s h e l l使用的当前选项,与s e t命令功能相同
$ ?    显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

echo $$        显示当前进程号
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载