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
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
运行了Oracle的Linux服务器更改主机名
假如要把主机名改为oratest。
$表示oracle用户操作;
#表示root用户操作。
DB:oracle10.2
OS:RHEL4.5
第一步,关闭数据库和监听,dbconsole:
$ dbshut
$ lsnrctl stop
第二部:
# hostname oratest
第三步:
# vi /etc/sysconfig/network
更改hostname参数。
第四步 ......
用途
处理命令行参数,并校验有效选项。
语法
getopts
选项字符串
名称
[
参数
...]
描述
getopts 命令是 Korn/POSIX shell 的内置命令,用来从参数列表检索选项以及选项参数。选项由一个 (加号)或者是由一个-(减号)后跟一个字符开始。一个既不是以 ,也不是以-开始的选项结束选项字符串。每次调用 getopt ......
到官网下载samba,samba-3.4.5.tar.gz
解压缩,后,进入source3.
./autogen.sh
./configure
make
make install
启动/usr/local/samba/sbin/smbd
此处可能会提示,
error while loading shared libraries: libtalloc.so.1
执行
LD_DEBUG=libs /usr/local/samba/sbin/smbd -D
检查哪些lib无法找到,相应的用ln&nbs ......
MBR,512字节=446+64+2 (446字节——引导程序 64字节——分区表 2字节——AA55)
MBR(Master Boot Record),中文意为主引导记录。
硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。第一部分为pre-boot区(预启动区),占446字节;第二部分是Partition ......