| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1464 人关注过本帖
标题:shell程序设计初级
只看楼主 加入收藏
guixiaolan
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:356
专家分:0
注 册:2006-4-20
收藏
 问题点数:0 回复次数:1 
shell程序设计初级

先看一个例子吧!
#cat>cmd.file #创建一个文件,下面是命令行代码
echo Hello,guixiaolan!
sleep 10
pwd
ls
#chmod +x cmd.file #给该文件可执行权限,如果不给它可执行权限,你就可以直接#sh
cmd.file来执行它
#./cmd.file #执行该文件,下面是显示结果
Hello,guixiaolan! #休息10秒
/home/guixiaolan
11 cmd.file Desktop xiaoxiaoplay.swf

$0 表示命令名
$1,$2... 参数表列
$# 参数总个数
$* 所有参数
$? 最后一个返回值

下面我们来讲一些简单的操作!

1.if操作符
先看一个简单的例子:
#if true;echo guixiaolan;fi
guixiaolan
#

格式:if expression;then command;fi

上面的例子写成多行命令就是:
#if true
>then
>echo guixiaolan
>fi
guixiaolan
#
如果有第二个分支,则可以用else操作符
如果有很多分支,则可以用elif(else if)操作符

expression可以是下列的一些语句
#if [ -f /etc/passwd ];then echo file exists;fi #[]中间有空格的,千万要注意,否
则不会通过
file exists
#
说明:
-f file 如果file存在是普通文件,则返回true
-d file 文件file为目录
-r file file存在是可读的
-w file file存在是可写的
-x file file存在是可执行的
-l file file是链接文件
-s file file存在且其大小大于0
= 字符串比较字符,例子if [ $DIR=$HOME ]
[ "$HOME" ] 判断字符串是否定义,用法if [ "$HOME" ]

数字比较
-eq,-ne,-gt,-ge,-lt,-le分别是相等,不等,大于,大于等于,小于,小于等于
逻辑比较
-o,-a分别是OR和AND

例子
$if[ ! -f guixiaolan ];then touch guixiaolan;fi #如果不存在文件,则创建一个

exit命令,返回值
例子
$if true;then exit 6;fi
$echo $? #执行命令,显示最后所得到的返回值
6

2.for操作符
先看一个简单的例子
$ for VAL in 1 2 3 4;do echo $VAL;done
1
2
3
4

格式:for val in item1 item2;do commands;done
VAL是用户命名的环境变量,item1,item2是字符串表,记住它们之间用空白隔开
命令可以是多个命令,照例用;号隔开

3.while操作符
先看一个简单的例子
$ while [ $val -lt 4 ];do echo $val;done
上面的例子是一个无限循环

4.until操作符
修改上面的例子,下面的作用跟上面的相同,也是一个无限循环
$ until [ $val -gt 4 ];do echo $val;done

5.case操作符
# case $1 in
> gui)
> echo gui;;
> xiao)
> echo xiao;;
> esac

6.内部函数read 读入
# if true
> then read file
> echo $file
> fi
gui
gui

7.看一个简单的自定义函数吧
$ show(){ echo $1;echo $2;echo $3;}
$ #注意前面的一个{后面有一个空格,后面的一个}前面有一个;
$ show gui xiao lan
gui
xiao
lan

搜索更多相关主题的帖子: shell 程序设计 初级 
2007-04-01 11:34
jiushiwo
Rank: 1
等 级:新手上路
帖 子:170
专家分:0
注 册:2007-3-10
收藏
得分:0 

做你自己! everything will go! lanfei_1234@
2007-04-16 16:03
快速回复:shell程序设计初级
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029838 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved