Shell程序设计举例.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Shell程序设计举例 文件备份脚本示例 #!/bin/bash #an example script of backup files LOG_START_TIME=`date +”%Y%m%d%H%M%S”` BACKUP_DIR=~/backup BACKUP_LOG=“$BACKUP_DIR/${LOG_START_TIME}.log” function write_log( ) { log_time=`date + %Y-%m-%d-%H-%M-%S` backup_file_name=$2 err_msg=“log_time ERROR in backup file/directory($backup_file_name)” suc_msg=“log_time SUCCESS in backup file/directory($backup_file_name)” if [ $1 –eq 0 ] ;then echo $suc_msg echo $suc_msg $BACKUP_LOG else echo $err_msg echo $err_msg $BACKUP_LOG fi } function backup_file( ) { cp –fr $1 $BACKUP_DIR /dev/null 21 write_log $? $1 } function create_log_file( ) { if [ ! –e $BACKUP_DIR ] ; then mkdir $BACKUP_DIR fi if [ -e $BACKUP_LOG ] ;then rm –f $BACKUP_LOG fi touch $BACKUP_LOG } clear echo “Backup Process Begins” create_log_file for file in $@ do backup_file $file done echo “Backup Process Ends” Here 文件应用 Bash中的here文件可以将脚本中命令的标准输入重定向到脚本中的数据。这个特性可以用于那些需要标准输入的命令。 语法: command[-] input_marker …input data… input_marker 用途:执行“command”命令,这个命令的数据来自于here文件--在开始标记和结束标记input_marker之间的那些数据。 目录专家脚本 #!/bin/bash if [ $# = 0 ] then echo Usage: $0 name exit 1 fi user_input=$1 grep -I $user_input DIRECTORY John Doe john@ Jenny jenny@ DIRECTORY exit 0 改进的目录专家脚本 #!/bin/bash if [ $# = 0 ] then echo Usage: $0 name exit 1 fi OutputData() { echo Information about $user_input (grep -i $user_input | sort) DIRECTORY John john@ Jennyjenny@ John juniorjunior@ DIRECTORY echo #两个记录之间的空行. } #只要至少有一个命令行参数,就取得第一个名字,调用OutputData() # 函数搜索DIRECTORY并显示包含名字的行.将名字向左置换一个位置并重复这一过程. while [ $# != 0 ] do user_input=$1 OutputData shift done exit 0 中断(信号)处理 信号:可以发送给进程的软中断 进程接收到信号后可以采取: 由Linux内核所确定的默认动作; 忽略信号; 采取程序自定义的动作。 语法:trap[‘command-list’][signal-list] 用途:拦截signal-list中的信号,执行内核定义的动作,忽略信号,或者执行command-list 中的命令 注意:command-list两边的单引号不可省略。 表1一些重要的信号及其数字编号与用途 canleave 脚本示例 #!/bin/bash #忽略1 2 3 15和20信号 trap 1 2 3 15 20 #清屏,光标定位到左上角,关闭回显 clear stty

文档评论(0)

飞扬的岁月 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档