Linux脚本编写基础(五)
实例)
现在我们来讨论编写一个脚本的一般步骤。任何优秀的脚本都应该具有帮助和输入参数。并且写一个伪脚本(framework.sh),该脚本包含了大多数脚本都需要的框架结构,是一个非常不错的主意。这时候,在写一个新的脚本时我们只需要执行一下copy命令:
cp framework.sh myscript
然后再插入自己的函数。
让我们再看两个例子:
二进制到十进制的转换
脚本b2d 将二进制数 (比如 1101) 转换为相应的十进制数。这也是一个用expr命令进行数学运算的例子:
1
#!/bin/sh
2
# vim: set sw=4 ts=4 et:
3
help()
4
{
5
cat <
6
b2h -- convert binary to decimal
7
USAGE: b2h [-h] binarynum
8
OPTIONS: -h help text
9
EXAMPLE: b2h 111010
10
will return 58
11
HELP
12
exit 0
13
}
14
error()
15
{
16
# print an error and exit
17
echo "$1"
18
exit 1
19
}
20
lastchar()
21
{
22
# return the last character of a string in $rval
23
if [ -z "$1" ]; then
24
# empty string
25
rval=""
26
return
27
fi
28
# wc puts some space behind the output this is why we need sed:
29
numofchar=`echo -n "$1" | wc -c | sed 's/ //g' `
30
# now cut out the last char
31
rval=`echo -n "$1" | cut -b $numofchar`
32
}
33
34
chop()
35
{
36&nbs
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......
今天第一次试着在Linux下写C程序,把遇到的问题记录一下
1. 使用emacs命令编辑程序文件,我直接在Terminal里输入了emacs,写好程序,关闭,结果和windows里不一样,并没有任何SaveFileDialog之类的对话框弹出来,自己写的东西也不知道保存到哪里了,而且File菜单里也没有New这样的选项。后来才知道,原来是得在emacs命令后 ......
document.body.oncopy = function() {
if (window.clipboardData) {
setTimeout(function() {
var text = clipboardData.getData("text&qu ......
MBR,512字节=446+64+2 (446字节——引导程序 64字节——分区表 2字节——AA55)
MBR(Master Boot Record),中文意为主引导记录。
硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。第一部分为pre-boot区(预启动区),占446字节;第二部分是Partition ......