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),任何想要访问该数据的进程都必须在本进程的地址空间新增一块内存区域,用来映射存放共享数据的物理内存页面 ......
/ 根目录
/bin 常用的命令 binary file 的目录
/boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内
  ......
./configure 检查系统信息
./configure --help | more 帮助信息
make clean   ......
主要有下面三种方式:
1.whereis 文件名
特点:快速, 执行准确查找。
2.find / -name 文件名
查出很多东西,有很多
“Permission Denied".
#find / -name php.ini
3.locate 文件名
最快的方法.执行模糊查找。
注意:第一次使用该命令,可能需要更新数据库,按照提示的命令执行一下就好了.
这里就要说说loc ......
自己以前对Linux下的虚拟机没自己查过,
后来发现某QQ群内有一人用Sun VirtualBox,
哈哈,当然,不用我说,你一定知道就是那个玩意了,因为是Sun退出Java,Java又是跨平台的(不过虚拟机JAVA可能做不了),凭直觉就猜得出来这个VirtualBox一定是跨平台的!!
支持Windows
MAC OSX
Linux
Solaris and OpenSolaris
还 ......