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
相关文档:
在共享内存(上)中,主要围绕着系统调用mmap()进行讨论的,本部分将讨论系统V共享内存,并通过实验结果对比来阐述两者的异同。系统V共享内存指的是把所有共享数据放在共享内存区域(IPC shared memory region),任何想要访问该数据的进程都必须在本进程的地址空间新增一块内存区域,用来映射存放共享数据的物理内存页面 ......
./configure 检查系统信息
./configure --help | more 帮助信息
make clean   ......
在Linux内核里内存可以和硬盘空间通用的,当内存利用很少时,数据可以存到内存里,反之硬盘空间可以用来当内存用但是有个共同点数据总是现在内存里操作再写回到硬盘上的。由于这个原因,块存储设备被当成后备存储器。
Linux提供了两种操作的方法:
1 后台进程不停的检查系统内存周期性的写操作
2 当系统有太多的脏页需要 ......
虽然mplayer的安装方法已经不是什么技术活,但最近有不少同学在询问我关于mplayer的安装方法的问题。我一贯推荐它们源代码包的安装,虽然步骤有些复杂,但解码器和二进制程序都尽在掌握,心里踏实。
===
1
下载如下这些软件:
all-20071007.tar.bz2
windows-all-20071007.zip
Blue-1.7.tar.bz2
MPlayer-1.0rc2.ta ......