欢迎来到天天文库
浏览记录
ID:56401583
大小:136.50 KB
页数:53页
时间:2020-06-16
《说明环境变量.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、Ch2ShellProgrammingJianjianSONGSoftwareInstitute,NanjingUniversitySept.2004ContentShellOverviewWhatisShell?WhyShell?创建和执行Shell程序Shell程序设计的语法变量、条件测试、条件语句、重复语句、命令表和语句块、函数…实例1.ShellOverviewShell用户和操作系统之间的接口作为核外程序而存在文件子系统用户硬件控制硬件内核Shell用户用户用户高级语言和实用程序系统调用进程管理子系统进程间通信存储管理调度程序设备驱动程序字符设备块设备高速缓存核外程序Sh
2、ell:用户和操作系统之间的接口Shell:用户和操作系统之间的接口csh其它程序bashX窗口系统Shell:作为核外程序而存在内核各种不同的Shellshell名称描述位置ash一个小的shell/bin/ashash.static一个不依靠软件库的ash版本/bin/ash.staticbshash的一个符号链接/bin/bshbash“BourneAgainShell”。Linux中的主角,来自GNU项目/bin/bashshbash的一个符号链接/bin/shcshCshell,tcsh的一个符号链接/bin/cshtcsh和csh兼容的shell/bin/tcshksh
3、KornShell/bin/kshShell的双重角色命令解释程序Linux的开机启动过程;进程树Shell的工作步骤打印提示符;得到命令行;解析命令;查找文件;准备参数;执行命令独立的程序设计语言解释器KISS(KeepItSmallandStupid)ReusabletoolsRedirectionandpipeUNIX’sPhilosophy(Examples)RedirectionUse“echo”tocreateafile?PipeGetthecountoffilesinadirectory?Showsubdirectoriesandonlysubdirectories?
4、art/usr/lib/libc.a
5、grepprintf
6、pr-4-t(?)2.创建和执行Shell程序编写脚本文件执行脚本文件运行环境编写脚本文件脚本文件注释退出码(exitcode)Example#!/bin/bash#Hereiscommentsforfilein*;doifgrepPOSIX$file;thenmore$filefidoneexit0执行脚本文件方法1:$shscript_file方法2:chmod+xscript_file(chown,chgrpoptionally)./script_file方法3:sourcescript_file,or.script
7、_file用户环境.bash_profile,.bash_logout,.bashrcfiles.bash_profile:用户登录时被读取,其中包含的命令被bash执行.bashrc:启动一个新的shell时读取并执行.bash_logout:登录退出时读取执行Aliasalias/unaliascommand环境变量exportcommandexport,env&setcommand3.Shell程序设计的语法变量条件测试条件语句重复语句命令表和语句块函数其它3.1变量用户变量环境变量参数变量和内部变量用户变量变量的赋值和使用var=valueecho$varread命令REP
8、LYvariable引号的用法双引号,单引号转义符“”环境变量环境变量说明$HOME当前用户的登陆目录$PATH以冒号分隔的用来搜索命令的目录清单$PS1命令行提示符,通常是”$”字符$PS2辅助提示符,用来提示后续输入,通常是”>”字符$IFS输入区分隔符。当shell读取输入数据时会把一组字符看成是单词之间的分隔符,通常是空格、制表符、换行符等。参数变量和内部变量环境变量说明$#传递到脚本程序的参数个数$0脚本程序的名字$1,$2,…脚本程序的参数$*一个全体参数组成的清单,它是一个独立的变量,各个参数之间用环境变量IFS中的第一个字符分隔开$@“$*”的一种变体,它不使用I
9、FS环境变量。3.2条件测试退出码test命令testexpression或[expression]test命令支持的条件测试字符串比较算术比较与文件有关的条件测试逻辑操作字符串比较字符串比较结果str1=str2两个字符串相同则结果为真str1!=str2两个字符串不相同则结果为真-zstr字符串为空则结果为真-nstr字符串不为空则结果为真算术比较算术比较结果expr1–eqexpr2两个表达式相等则结果为真expr1–neexpr2两个表达式不等则结果为真exp
此文档下载收益归作者所有