[阅读记录]《新ABS_Guide_cn.txt》shell脚本的编写

发现用笔头记录的速度还是太慢,看书太慢。还是应该复制粘贴然后运用一下来的快。

所以这就当是读书笔记了。顺便收集一些脚本模块

 

Advanced Bash-Scripting Guide
<<高级Bash脚本编程指南>>
一本深入学习shell脚本艺术的书籍
Version 3.7.2
2005/11/16
作者:Mendel Cooper
mail:thegrendel@theriver.com

 译者 杨春敏 黄毅

 

//************************************************************//

 1 - csh为什么不被推荐,网站不维护了。下次百度吧

 2 - Example 2-3. cleanup:一个增强的和广义的删除logfile的脚本

 ------------------------------------------------------------------------------------------

1 #!/bin/bash

 

2 # 清除, 版本 3
4 #  Warning:
5 #  -------
6 #  这个脚本有好多特征,这些特征是在后边章节进行解释的,大概是进行到本书的一半的
7 #  时候,
8 #  你就会觉得它没有什么神秘的了.
9 #
10 
11 
12 
13 LOG_DIR=/var/log
14 ROOT_UID=0     # $UID为0的时候,用户才具有根用户的权限
15 LINES=50       # 默认的保存行数
16 E_XCD=66       # 不能修改目录?
17 E_NOTROOT=67   # 非根用户将以error退出
18 
19 
20 # 当然要使用根用户来运行
21 if [ "$UID" -ne "$ROOT_UID" ]
22 then
23   echo "Must be root to run this script."
24   exit $E_NOTROOT
25 fi  
26 
27 if [ -n "$1" ]
28 # 测试是否有命令行参数(非空).
29 then
30   lines=$1
31 else  
32   lines=$LINES # 默认,如果不在命令行中指定
33 fi  
34 
35 
36 #  Stephane Chazelas 建议使用下边
37 #+ 的更好方法来检测命令行参数.
38 #+ 但对于这章来说还是有点超前.
39 #
40 #    E_WRONGARGS=65  # 非数值参数(错误的参数格式)
41 #
42 #    case "$1" in
43 #    ""      ) lines=50;;
44 #    *[!0-9]*) echo "Usage: `basename $0` file-to-cleanup"; exit $E_WRONGARGS;;
45 #    *       ) lines=$1;;
46 #    esac
47 #
48 #* 直到"Loops"的章节才会对上边的内容进行详细的描述.
49 
50 
51 cd $LOG_DIR
52 
53 if [ `pwd` != "$LOG_DIR" ]  # 或者 if[ "$PWD" != "$LOG_DIR" ]
54                             # 不在 /var/log中?
55 then
56   echo "Can't change to $LOG_DIR."
57   exit $E_XCD
58 fi  # 在处理log file之前,再确认一遍当前目录是否正确.
59 
60 # 更有效率的做法是
61 #
62 # cd /var/log || {
63 #   echo "Cannot change to necessary directory." >&2
64 #   exit $E_XCD;
65 # }
66 
67 
68 
69 
70 tail -$lines messages > mesg.temp # 保存log file消息的最后部分.
71 mv mesg.temp messages             # 变为新的log目录.
72 
73 
74 # cat /dev/null > messages
75 #* 不再需要了,使用上边的方法更安全.
76 
77 cat /dev/null > wtmp  #  ': > wtmp' 和 '> wtmp'具有相同的作用
78 echo "Logs cleaned up."
79 
80 exit 0
81 #  退出之前返回0,返回0表示成功.
82 #

----------------------------------------------------------------------------------------------------------------------

这边的 root用户确认和测试命令行参数很有用,记录。

3 - man magic看一下,是什么神奇的东东

4 -  #!/bin。。。。理论上说任何都程序都可以放到这个位置上,有用;如果没有这个,脚本就只是命令的集合

5 ---------------------------------------------------------------------

1 E_WRONG_ARGS=65
2 script_parameters="-a -h -m -z"
3 #                  -a = all, -h = help, 等等.
5 if [ $# -ne $Number_of_expected_args ]
6 then
7   echo "Usage: `basename $0` $script_parameters"
8   # `basename $0`是这个脚本的文件名
9   exit $E_WRONG_ARGS
10 fi

------------------------------------------------------------------------------------------------ 

6 - 最后一步,在脚本被测试和debug之后,你可能想把它移动到/usr/local/bin(当然是以root身份)

,来让你的脚本对所有用户都有用.这样用户就可以直接敲脚本名字来运行了.

7 - 那些具有UNIX味道的脚本(基于4.2BSD)需要一个4字节的魔法数字,在#!后边需要一个

 

空格#! /bin/sh.

8 - 如果在脚本的里边还有一个#!行,那么bash将把它认为是一个一般的注释行 

9 -  

 

转载于:https://www.cnblogs.com/bugtags/articles/4186306.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《rockchip_driver_guide_vi_cn_v1.1.1.pdf》是一份Rockchip芯片驱动程序指南,旨在为开发人员和工程师提供详细的驱动程序开发指导。该指南包括了Rockchip芯片驱动程序开发的基本概念、流程、工具和注意事项等内容。通过该指南,开发人员可以学习如何使用Rockchip提供的开发工具和驱动程序接口,以及如何进行驱动程序的调试和优化。 在《rockchip_driver_guide_vi_cn_v1.1.1.pdf》中,首先介绍了Rockchip芯片驱动程序开发的基本原理和流程,包括驱动程序的加载过程、设备驱动的注册和注销、驱动程序和硬件之间的通信机制等。接着,该指南详细介绍了Rockchip提供的开发工具,包括驱动程序开发工具链、调试工具和性能分析工具等。此外,该指南还列举了一些常见的驱动程序开发注意事项,以帮助开发人员避免一些常见的错误和问题。 总的来说,《rockchip_driver_guide_vi_cn_v1.1.1.pdf》是一份非常实用和详尽的Rockchip芯片驱动程序开发指南,对于想要深入了解Rockchip芯片驱动程序开发的开发人员来说,是一份非常有价值的参考资料。它不仅可以帮助开发人员快速掌握Rockchip芯片驱动程序开发的基本知识,还可以帮助他们更加高效地进行驱动程序开发和调试工作。希望开发人员可以利用这份指南,更好地应用Rockchip芯片驱动程序,开发出高质量的应用和产品。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值