[工学]Shell程序设计.ppt

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

Shell的特点 1、把已有命令进行组合,构成新的命令,组合方式简单 2、可以用*?[]进行模式匹配 3、可以直接用shell内置命令,而不需创建新进程 cd echo exit pwd kill等 4、支持通配符、输入/输出重定向、管道等非常方便。 5、结构化 6、可后台运行 7、可配置环境 8、提供了高级命令语言,shell脚本可把可执行程序和命令结合起来当做新的命令使用。 Interactive Programs $ for file in * do if grep -l POSIX $file then more $file fi done posix This is a file with POSIX in it - treat it well $ Creating a Script #!/bin/sh # first # This file looks through all the files in the current # directory for the string POSIX, and then prints the names of # those files to the standard output. for file in * do if grep -q POSIX $file then echo $file fi done exit 0 # ls -l /usr/bin/[ lrwxrwxrwx 1 root root 4 Oct 13 10:46 /usr/bin/[ - test if test -f fred.c then ... fi if [ -f fred.c ] then ... fi #!/bin/sh echo “Is it morning? Please answer yes or no” read timeofday if [ $timeofday = “yes” ]; then echo “Good morning” else echo “Good afternoon” fi exit 0 Is it morning? Please answer yes or no yes Good morning $ #!/bin/sh echo “Is it morning? Please answer yes or no” read timeofday if [ $timeofday = “yes” ] then echo “Good morning” elif [ $timeofday = “no” ]; then echo “Good afternoon” else echo “Sorry, $timeofday not recognized. Enter yes or no” exit 1 fi exit 0 #!/bin/sh echo “Is it morning? Please answer yes or no” read timeofday if [ “$timeofday” = “yes” ] then echo “Good morning” elif [ “$timeofday” = “no” ]; then echo “Good afternoon” else echo “Sorry, $timeofday not recognized. Enter yes or no” exit 1 fi exit 0 case与命令参数传递 可以使用case控制到脚本的参数传递。先测试特定变量$#(它包含传递的参数个数)。假如是一个参数的脚本。则: 如果不等于1,退出并显示可用信息。 然后case语句捕获参数并进行各种模式匹配。相对于每一种匹配模式执行进一步处理脚本。 如果均不匹配,显示可用信息到标准错误输出。 #!/bin/sh if [ $# != 1 ] echo “Usage:`basename $0` [Start|stop|help]” exit 1 fi OPT=$1 case $OPT in start) echo “starting…” ;; stop) echo “stopping…” ;; help) echo “stopping…” ;; *) echo “Usage:`basename $0` [Start|stop|help]” exit 1 esac exit 0 for for循环一般格式为: for 变量名 in 列表 do 命令1 命令2? done f

文档评论(0)

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

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

1亿VIP精品文档

相关文档