沈阳电脑维修网,沈阳上门维修电脑服务
当前位置: 主页 > 程序数据代码>shell脚本中的各种小技巧_程序数据_shell >

shell脚本中的各种小技巧_程序数据_shell

时间:2011-12-5来源:沈阳电脑维修网 作者: 吕先生:13889116605点击:
沈阳电脑维修,上门维修电脑
     为了记录在一个实际的会话期或多个会话期内运行的用户脚本,可以加下面的代码到每个你想追踪记录的脚本里.这会记录下连续的脚本名记录和调用的次数.  1#添加(>>)下面几行到你想追踪记录的脚本末尾处.  2  3whoami>>$SAVE_FILE   #记录调用脚本的用户.  4echo$0>>$SAVE_FILE  #记录脚本名.  5date>>$SAVE_FILE     #记录日期和时间.  6echo>>$SAVE_FILE     #空行作为分隔行.  7  8# 当然,SAVE_FILE变量应在~/.bashrc中定义并导出(export)  9#+(变量值类似如~/.scripts-run)The>>操作符可以在文件尾添加内容.如果你想在文件头添加内容,那应该怎么办?  1file=data.txt  2title="***Thisisthetitlelineofdatatextfile***"  3  4echo$title|cat-$file>$file.new  5#"cat-"连接标准输出的内容和$file的内容.  6# 最后的结果就是生成了一个新文件,  7#+文件的头添加了$title的值,后跟$file的内容. 脚本也可以像内嵌到另一个shell脚本的普通命令一样调用,如Tcl或wish脚本,甚至可以是Makefile.它们可以作为外部shell命令用C语言的system()函数调用,例如.,system("script_name");.把内嵌的sed或awk脚本的内容赋值给一个变量可以增加包装脚本(shellwrapper)的可读性.把你最喜欢和最有用的定义和函数放在一些文件中.当需要的使用的时候,在脚本中使用dot(.)或source命令来"包含(include)"这些"库文件"的一个或多个.  1#脚本库  2#-------------  3  4#注:  5#本文件没有"#!"开头.  6#也没有真正做执行动作的代码.  7  8  9#有用的变量定义 10 11ROOT_UID=0            #Root用户的$UID值是0. 12E_NOTROOT=101         #非root用户出错代码. 13MAXRETVAL=255         #函数最大的的返回值(正值). 14SUCCESS=0 15FAILURE=-1 16 17 18 19#函数 20 21Usage()              #"Usage:"信息(即帮助信息). 22{ 23  if[-z"$1"]      #没有传递参数. 24  then 25    msg=filename 26  else 27    msg=$@ 28  fi 29 30  echo"Usage:`basename$0`"$msg"" 31}  32 33 34Check_if_root()      #检查是不是root在运行脚本. 35{                     #取自例子"ex39.sh". 36  if["$UID"-ne"$ROOT_UID"] 37  then 38    echo"Mustberoottorunthisscript." 39    exit$E_NOTROOT 40  fi 41}  42 43 44CreateTempfileName() #创建一个"唯一"的临时文件. 45{                     #取自例子"ex51.sh". 46  prefix=temp 47  suffix=`evaldate+%s` 48  Tempfilename=$prefix.$suffix 49} 50 51 52isalpha2()           #测试字符串是不是都是字母组成的. 53{                     #取自例子"isalpha.sh". 54  [$#-eq1]||return$FAILURE 55 56  case$1in 57  *[!a-zA-Z]*|"")return$FAILURE;; 58  *)return$SUCCESS;; 59  esac                #Thanks,S.C. 60} 61 62 63abs()                          #绝对值. 64{                               #注意:最大的返回值=255. 65  E_ARGERR=-999999 66 67  if[-z"$1"]                #要传递参
上一篇:shell中的安全话题_程序数据_shell
下一篇:脚本优化_程序数据_shell
查看[shell脚本中的各种小技巧_程序数据_shell ]所有评论
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:
推荐内容
关于我们 服务价格 联系我们 企业网站优化 沈阳网站建设 沈阳维修电脑