unixlinux教程实验样题第12章_第1页
unixlinux教程实验样题第12章_第2页
unixlinux教程实验样题第12章_第3页
unixlinux教程实验样题第12章_第4页
unixlinux教程实验样题第12章_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Unix & Linux 大学教程第12章 使用shell:变量和选项本章需要解决的几个问题交互式shell和非交互式shell有什么区别?环境中存储有什么类型的变量?什么类型的变量不属于环境?在Bourne shell家族中,如何是shell变量成为环境变量?12.1 交互式shell和非交互式shell交互式程序和非交互式程序 - 交互式程序指的是与人进行沟通的程序。程序的输入来源与键盘与鼠标,程序的输出发送到显示器上。 - 非交互式程序指的是独立于人运行的程序。它从文件中获取输入,并将输出写到另一个文件中。12.1 交互式shell和非交互式shell交互式shell和非交互式shell

2、 - 交互式shell指的是以交互式程序方式运行的shell。 - 非交互式程序指的以交互式程序方式运行的shell。12.2 环境、进程和变量定义 - 进程指的是运行时的程序 - 环境指的进程运行过程中一组用来存放信息的变量 - 变量指的一个用来存储数据的实体12.2 环境、进程和变量两种变量 - shell变量 - 环境变量变量的4种操作 - 创建变量 - 查看变量的值 - 修改变量的值 - 销毁变量12.2 环境、进程和变量变量的类型 - 字符串 - 一维数组变量、环境和进程的结合 - 父进程创建子进程后,系统为子进程复制父进程的环境,子进程可以访问父进程的所有环境变量,但子进程对环境变

3、量的修改不会传递到父进程。 12.3 环境变量和shell变量定义 - shell变量是创建它们的shell的局部变量 - 环境变量是全局变量,使用相同环境的任何进程都可以访问。变量命名规定 - C-Shell家族中,环境变量用大写字母,shell变量用小写字母 - Bourne shell家族中,都采用大写字母12.3 环境变量和shell变量环境变量中存在的问题 - 某些环境变量对于shell本身和shell启动的子进程都有用,如PATH、PWD等。这就要求环境变量在shell和子进程中同步更新。然而根据纯粹的环境变量的定义,这样是做不到的,子进程对与环境变量的改变不会传导给父进程。 12

4、.3 环境变量和shell变量Bourne shell家族的处理方法 - 在Bourne shell家族中不存在完全的环境变量,只可能即是shell变量,又是环境变量。变量定义之后,自动设为shell变量,使用export命令可以将shell变量修改为“shell+环境”变量 12.3 环境变量和shell变量Bourne shell家族中定义变量 - 定义局部变量 HARLEY=cool - 定义环境变量 export HARLEY12.3 环境变量和shell变量C-Shell家族的处理方法 - 在C-Shell家族中,定义了少数几个特殊的shell变量,将这些shell变量分别绑定到对应

5、的环境变量,保持shell变量和对应环境变量的同步更新。 12.3 环境变量和shell变量shell/环境绑定变量 12.3 环境变量和shell变量C-Shell家族中定义变量 - 定义局部变量 使用set命令 - 定义环境变量 使用setenv命令12.4 显示环境变量常用命令 - env - printenv 或分页方式 - env | less - printenv | less 或排序加分页方式 - env | sort | less - printenv | sort | less12.5 显示shell变量显示shell变量命令 - set 对于Bourne shell来说,无

6、法通过set知道变量是否被导出为环境变量12.6 显示及使用变量的值相关命令 - echo:所有shell通用 - print:Korn shell上使用 12.6 显示及使用变量的值例子 $ echo I like Unix I like Unix $ echo $HOSTNAME luna $ echo $HOSTNAME luna12.6 显示及使用变量的值例子 $ echo hostname is error! $ echo “hostname is ” hostname is $ echo This is $HOSTNAMEs computer error! $ echo This

7、is $HOSTNAMEs computer This is lunas computer12.7 Bourne shell家族使用变量创建变量 - 方式1 $ NAME=value; export NAME - 方式2 $ export NAME=value复位变量 - unset NAME12.7 Bourne shell家族使用变量例子: PAGER=less; export PAGER unset PAGER export HARLEY WEEDLY export PAGER=less EDITOR=vi PATH=“/usr/local/bin:/usr/bin:/bin” 12.8

8、 C-Shell家族使用变量shell变量 - 创建:set name=value - 复位:unset name环境变量 - 创建:setenv NAME value - 复位:unsetenv NAME12.8 C-Shell家族使用变量例子: set term=vt100 set path=(/usr/bin bin /usr/ucb) unset ignoreeof setenv PATH /urs/local/bin:/usr/bin:/bin setenv WEEDLY “a cool cat” unsetenv WEEDLY12.9 shell选项:set -o、set +osh

9、ell选项 - 在Bourne shell中使用 - 有两个状态:on/off,打开一个选项时,就说设置了这个选项。关闭这个选项时,就说复位了这个选项。12.9 shell选项:set -o、set +o设置和复位shell选项 - 方式1:在shell启动时,以命令选项的方式指定一个或多个选项。 例如:启动Korn shell时,设置monitor选项: ksh -m12.9 shell选项:set -o、set +o设置和复位shell选项 - 方式2:采用set命令 set -o option : 设置一个选项 set +o option : 复位一个选项 例如:shell正在运行,设置monitor选项: set -o monito

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论