Linux Shell语法速查 及 关键字说明
虽然学过
Linux Shell
编程,但由于编写
Shell
脚本的机会实在是比较少
(
通常在项目初期搭建开发环境时编写得比较
多一些
)
,所以一
些语法久而久之就会忘了,一个简单的语法去翻书效率实在是慢,所以就个人整理了一个表格,由于我用的编程语言是
C/C++
,所以在编程的时候往往脑海里面首
先浮现的是用
C
语
言怎么去编写它,所以我干脆拿
C
语言的语法来和
Shell
编程的语法作个对比表,这样查起来就方便了
要实现的功能
C
语言编程
Linux Shell
脚本编程
程序
/
脚本的参数传递
int
main(int
argc
,
char** argv
)
{
if
(argv
!= 4) {
printf
( “Usage: %s arg1 arg2 arg3”, argv
[0] );
return 1;
}
printf
(“arg1:%s\n”,argv[1]);
printf
(“arg2:%s\n”,argv[2]);
printf
(“arg3:%s\n”,argv[3]);
return
0;
}
#!/bin/sh
if [ $# -lt
3 ]; then
echo "Usage: `basename
$0` arg1 arg2 arg3" >&2
exit 1
fi
echo "arg1: $1"
echo "arg2: $2"
echo "arg3: $3"
exit 0
int
main(int
argc
,
char** argv
)
{
int
i
;
for
(i
=1; i
<=argc;i
++) {
printf
(“arg:%s\n”,argv
[i
]);
}
return
0;
}
#!/bin/sh
while [ $# -ne
0 ]
do
echo "arg
: $1"
shift
done
逻辑
/
数值运算
if (d == 0)
if [ "$D" -eq
"0" ] ; then
if (d != 0)
if [ "$D" -ne
"0" ] ; then
if (d > 0)
if [ "$D" -gt
"0" ] ; then
if (d < 0)
if [ "$D" -lt
"0" ] ; then
if (d <= 0)
if [ "$D" -le "0" ] ; then
if (d >= 0)
if [ "$D" -ge
"0" ] ; then
字符串比较
if (strcmp
(str,”abc
”)==0) {
}
if [ "$STR" != "abc
" ]; then
fi
输入和输出
scanf
(“%d”,&D
);
read D
printf
( &ldqu
相关文档:
共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。
&nbs ......
在共享内存(上)中,主要围绕着系统调用mmap()进行讨论的,本部分将讨论系统V共享内存,并通过实验结果对比来阐述两者的异同。系统V共享内存指的是把所有共享数据放在共享内存区域(IPC shared memory region),任何想要访问该数据的进程都必须在本进程的地址空间新增一块内存区域,用来映射存放共享数据的物理内存页面 ......
先来了解一下文件属性,
在shell环境里输入:ls -l 可以查看当前目录文件。如:
drwxr-xr-x 2 nsf users 1024 12-10 17:37 下载文件备份
分别对应的是:
文件属性 连接数 文件拥有者 所属群组 文件大小 文件修改时间 文件名
这里r是可读,w可写,x 可执行,其中文件属性分为四段,---- --- --- 10个位置
例如:
d ......
一、本次内核编译新内核所涉及软件版本
“gcc –version”可查寻GCC版本------4.3.2 20081105(Red Hat 4.3.2-7)
“make –v”可查询 Gnu make版本-----3.81
“ld –V(v)可查询GNU ld版本-----2.18.50.0.9-7。f c10 20080822
“fdformat --version”命令 ......
将可移动设备连入系统时,系统的后台中会依次发生如下事件:
l 内核检测到新硬件插入,然后分别通知hotplug和udev。前者用来装入相应的内核模块(如usb-storage),而后者用来在/dev中创建相应的设备节点(如/dev/sda1)。
l udev创建了相应的设备节点之后,会将这一消息通知hal的守护程序(hald)。当然udev还得保证新 ......