首页计算机计算机软件Unix&Linux教程 12 第12章 使用shell:变量和选项.pptx

12 第12章 使用shell:变量和选项.pptx

页数:29页文件大小:543.6 KB来源: Unix&Linux教程ppt课件

本课件讲解shell中的变量与选项:交互式与非交互式shell的区别、环境与进程中的变量、环境变量与shell变量的分工、变量值的显示与使用,以及用set -o与set +o管理shell选项的方法。

第12章使用shell:变量和选项封面,标示本章讲解的环境变量、shell变量与shell选项
本章需要解决的几个问题要点讲解,涵盖交互式shell、环境中存储有什么类型的变量、在Bourne shell家等
12.1交互式shell和非交互式shell说明页,交互式程序和非交互式程序-交互式程序指的是与人进行沟通的程序。
查看本课件的文字版(共 29 页,供检索与复制)

第1页:第12章使用shell:变量和选项

本页为第12章使用shell:变量和选项的章节封面,标示本章讲解的环境变量、shell变量与shell选项。

第2页:本章需要解决的几个问题

  • 交互式shell和非交互式shell有什么区别?
  • 环境中存储有什么类型的变量?什么类型的变量不属于环境?
  • 在Bourne shell家族中,如何是shell变量成为环境变量?

第3页:交互式shell和非交互式shell

  • 交互式程序和非交互式程序-交互式程序指的是与人进行沟通的程序。程序的输入来源与键盘与鼠标,程序的输出发送到显示器上。-非交互式程序指的是独立于人运行的程序。它从文件中获取输入,并将输出写到另一个文件中。

第4页:交互式shell和非交互式shell

  • 交互式shell和非交互式shell-交互式shell指的是以交互式程序方式运行的shell。-非交互式程序指的以交互式程序方式运行的shell。

第5页:12.2环境、进程和变量

  • 定义
  • 进程指的是运行时的程序
  • 环境指的进程运行过程中一组用来存放信息的变量
  • 变量指的一个用来存储数据的实体

第6页:环境、进程和变量:两种变量-shell

  • 两种变量-shell变量-环境变量
  • 变量的4种操作
  • 创建变量
  • 查看变量的值
  • 修改变量的值
  • 销毁变量

第7页:12.2环境、进程和变量:变量的类型

  • 变量的类型
  • 字符串
  • 一维数组
  • 变量、环境和进程的结合-父进程创建子进程后,系统为子进程复制父进程的环境,子进程可以访问父进程的所有环境变量,但子进程对环境变量的修改不会传递到父进程。

第8页:12.3环境变量和shell变量

  • 定义-shell变量是创建它们的shell的局部变量-环境变量是全局变量,使用相同环境的任何进程都可以访问。
  • 变量命名规定-C-Shell家族中,环境变量用大写字母,shell变量用小写字母-Bourne shell家族中,都采用大写字母

第9页:环境变量和shell变量:环境变量中存

  • 环境变量中存在的问题-某些环境变量对于shell本身和shell启动的子进程都有用,如PATH、PWD等。这就要求环境变量在shell和子进程中同步更新。然而根据纯粹的环境变量的定义,这样是做不到的,子进程对与环境变量的改变不会传导给父进程。

第10页:环境变量和shell变量

  • Bourne shell家族的处理方法-在Bourne shell家族中不存在完全的环境变量,只可能即是shell变量,又是环境变量。变量定义之后,自动设为shell变量,使用export命令可以将shell变量修改为“shell+环境”变量

第11页:环境变量和shell变量

  • Bourne shell家族中定义变量-定义局部变量HARLEY=cool-定义环境变量export HARLEY

第12页:环境变量和shell变量

  • C-Shell家族的处理方法-在C-Shell家族中,定义了少数几个特殊的shell变量,将这些shell变量分别绑定到对应的环境变量,保持shell变量和对应环境变量的同步更新。

第13页:环境变量和shell变量

  • shell/环境绑定变量

第14页:环境变量和shell变量

  • C-Shell家族中定义变量
  • 定义局部变量使用set命令
  • 定义环境变量使用setenv命令

第15页:12.4显示环境变量

  • 常用命令-env-printenv或分页方式-env | less-printenv | less或排序加分页方式-env | sort | less-printenv | sort | less

第16页:

第17页:12.5显示shell变量

  • 显示shell变量命令-set
  • 对于Bourne shell来说,无法通过set知道变量是否被导出为环境变量

第18页:

第19页:12.6显示及使用变量的值

相关命令-echo
所有shell通用-print:Korn shell上使用

第20页:显示及使用变量的值:$ echo I

  • 例子$ echo I like UnixI like Unix$ echo ${HOSTNAME}luna$ echo $HOSTNAMEluna

第21页:显示及使用变量的值:$ echo

  • 例子$ echo hostname is <$HOSTNAME>error!$ echo “hostname is <$HOSTNAME>”hostname is <luna>$ echo This is $HOSTNAME’s computererror!$ echo This is ${HOSTNAME}’s computerThis is luna’s computer

第22页:Bourne shell家族使用变量

  • 创建变量-方式1$NAME[=value]; exportNAME-方式2$ exportNAME[=value]…
  • 复位变量-unsetNAME…

第23页:Bourne shell家族使用变量

  • 例子:PAGER=less; export PAGERunset PAGERexport HARLEY WEEDLYexport PAGER=less EDITOR=viPATH=“/usr/local/bin:/usr/bin:/bin”

第24页:12.8 C-Shell家族使用变量

shell变量-创建
setname[=value]-复位:unsetname
环境变量-创建
setenvNAME[value]-复位:unsetenvNAME

第25页:12.8 C-Shell家族使用变量

  • 例子:set term=vt100set path=(/usr/bin bin /usr/ucb)unset ignoreeofsetenv PATH /urs/local/bin:/usr/bin:/binsetenv WEEDLY “a cool cat”unsetenv WEEDLY

第26页:shell选项:set-o、set +o

  • shell选项-在Bourne shell中使用-有两个状态:on/off,打开一个选项时,就说设置了这个选项。关闭这个选项时,就说复位了这个选项。

第27页:shell选项:set-o、set +o

  • 设置和复位shell选项-方式1:在shell启动时,以命令选项的方式指定一个或多个选项。例如:启动Korn shell时,设置monitor选项:ksh-m

第28页:shell选项:set-o、set +o

  • 设置和复位shell选项-方式2:采用set命令set-ooption:设置一个选项set +ooption:复位一个选项例如:shell正在运行,设置monitor选项:set-omonitor

第29页:12.10显示shell选项

  • 可以用两个命令显示所有shell选项的状态-set-o以一种容易阅读的方式显示所有shell选项的当前状态。这种格式适合人类阅读。-set +o以一种紧缩的方式显示所有shell选项的当前状态。这种格式适合作为shell脚本或程序的数据。
顶部目录