Shellshell编程.doc

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Shellshell编程

.shell基础 基本介绍,环境,选项,特殊字符 .shell变量 用户定义变量,环境变量,位置变量(shell 参数) .shell script编程 条件测试,循环及重复控制 .shell定制 1.shell基础知识 作者:Stephen Bourne 在Bell实验室开发 建议:man sh 查看相关UNIX上的改进或特性 (1)shell提示符及其环境 /etc/passwd文件 提示符:$ /etc/profile $HOME/.profile (2)shell执行选项 -n 测试shell script语法结构,只读取shell script但不执行 -x 进入跟踪方式,显示所执行的每一条命令,用于调度 -a Tag all variables for export -c string 从strings中读取命令 -e 非交互方式 -f 关闭shell文件名产生功能 -h locate and remember functions as defind -i 交互方式 -k 从环境变量中读取命令的参数 -r 限制方式 -s 从标准输入读取命令 -t 执行命令后退出(shell exits) -u 在替换中如使用未定义变量为错误 -v verbose,显示shell输入行 这些选项可以联合使用,但有些显然相互冲突,如-e和-i. (3)受限制shell(Restircted Shell) sh -r 或 /bin/rsh 不能执行如下操作:cd, 更改PATH,指定全路径名,输出重定向,因此可以提供一个较 好的控制和安全机制。通常rsh用于应用型用户及拨号用户,这些用户通常是看不到提 示符的。通常受限制用户的主目录是不可写的。 不足:如果用户可以调用sh,则rsh的限制将不在起作用,事实上如果用户在vi及more 程序中调用shell,而这时rsh的限制将不再起作用。 (4)用set改变 shell选项 用户可以在$提示符下用set命令来设置或取消shell的选项。使用-设置选项,+取消相应 选项,大多数UNIX系统允许a,e,f,h,k,n,u,v和x的开关设置/取消。 set -xv 启动跟踪方式;显示所有的命令及替换,同样显示输入。 set -tu 关闭在替换时对未定义变量的检查。 使用echo $-显示所有已设置的shell选项。 (5)用户启动文件 .profile PATH=$PATH:/usr/loacl/bin; export PATH (6)shell环境变量 CDPATH 用于cd命令的查找路径 HOME /etc/passwd文件中列出的用户主目录 IFS Internal Field Separator,默认为空格,tab及换行符 MAIL /var/mail/$USERNAME mail等程序使用 PATH PS1,PS2 默认提示符($)及换行提示符( ) TERM 终端类型,常用的有vt100,ansi,vt200,xterm等 示例:$PS1=test:;export PS1 test: PS1=\$;export PS1 $echo $MAIL /var/mail/username (7)保留字符及其含义 $ shell变量名的开始,如$var | 管道,将标准输出转到下一个命令的标准输入 # 注释开始 在后台执行一个进程 ? 匹配一个字符 * 匹配0到多个字符(与DOS不同,可在文件名中间使用,并且含.) $- 使用set及执行时传递给shell的标志位 $! 最后一个子进程的进程号 $# 传递给shell script的参数个数 $* 传递给shell script的参数 $@ 所有参数,个别的用双引号括起来 $? 上一个命令的返回代码 $0 当前shell的名字 $n (n:1-) 位置参数 $$ 进程标识号(Process Identifier Number, PID) file 输出重定向 file 输入重定向 `command` 命令替换,如 filename=`basename /usr/local/bin/tcsh` file 输出重定向,append 转义符及单引号: $echo $HOME $PATH /home/hbwork /opt/kde/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin: $echo $HOME $PATH $HOME $PATH $echo \$HOME $PATH $HOME /opt/kde/bin:/usr/local/b

文档评论(0)

af60068 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档