首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>网络管理>环境配置>正文

Shell编程:Linux系统环境程序设计之路

http://www.oklinux.cn  2008-03-11  赛迪网 korn  会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

函数

别的高级语言都有函数的感念,当然shell编程也有这个概念,当写一个比较大型的shell程序的时候,如果没有函数,则会到处都是重复的代码。当然也可以调用别的脚本,但是速度会比较慢。所以函数是必不可少并且非常重要的一个东西。

定义函数的格式
function_name(){...}
例子:
//~ fun_s
show(){
echo "show $*"
}
echo $*
echo "after function"
show c d
echo $*
exit 0
/////////////////////////////
$./fun_s a b
结果是
a b
after function
c d
a b

从上面的例子可以看出,当脚本调用函数的时候,脚本程序的位置参数会被替换成函数的位置参数,并且函数调用结束后还原。

return:

//~ return_s
#!/bin/bash
first(){
echo "is return"
}
second(){
echo "before return"
return "0"
echo "after return"
}
return_value="$(first)"
echo $return_value
second&&echo "return 0"||echo "return other"
exit 0
//////////////////////////////////////

输出 
is return
before return
return 0

该例子说明可以捕获函数内echo的字符串,如echo $(first) , 函数在return后不会再执行下面的语句。

second&&echo "return 0"||echo "return other" 该句的输出为 return 0。这里有人可能会和C语言混淆,因为在C语言里0表示的是false。而这里的0表示函数执行成功,可以理解为true,所以会输出return 0。

命令

break,continue 和c语言基本类似

echo 了解一点即可echo -n 输出没有换行。

eval: 
例子:
//~ eval_s 
#!/bin/bash
var1=abcd
var2=var1
eval var3=\$$var2
echo $var3
exit 0
///////////////////////////

eval相当于一个额外的$,它给出一个变量值的值,如例子里先是$var2使var3变成\$var1,又var1=abcd,所以var3变为abcd,连续解析了两次变量。

export:

看下面两个例子可以很好的说明export的作用。

//~ export1_s
#!/bin/bash
var1="this is var1"
var2="this is var2"
export var2
./export2_s
exit 0
///////////////////////////

//~ export2_s
#!/bin/bash
echo "$var1"
echo "$var2"
exit 0
/////////////////////////

输出:

this is var2

输出结果说明var1为空而var2却有值,这正是export起的作用,把var2变成了一个环境变量。

再看个例子:

#!/bin/bash
echo $var1
echo $var2
echo $var3
exit 0
//////////////////////////

//~ set-a_s
#!/bin/bash
set -a
var1="var1"
var2="var2"
var3="var3"
./set-a2_s
exit 0
//////////////////////////

//~ set-a2_s
输出:
var1
var2
var3

set -a的作用就是把它之后声明的所有变量都export

printf:

和C语言里的printf用法很相似的一个命令,使用非常方便。

              
共2页: 上一页 1 [2] 下一页

上一篇:Linux服务器ADSL下利用NAT实现上网共享   下一篇:在Linux下安装Perl及Perl模块

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·在Linux下安装Perl及Perl模块
·开源空间:关于Linux下时间编程的问题
·Linux configure关于交叉编译的参数设置
·关于Linux系统下C语言编程注意事项
·Linux系统下编译安装g2ipmsg(飞鸽传书)
·在Ubuntu 7.10 Linux下搭建J2EE开发环境
·静态库和动态库 Linux系统程序设计之路
·JAVA得到网卡物理地址(Windows和Linux)
·利用PS3和Linux搭建一个并行程序开发平台
·Linux系统下多线程程序编译makefile文件
·Redhat Linux上vsftpd编译安装
·编程语言PHP在Web开发领域的优势在哪?
·Weblogic在Linux和Unix下的后台启动脚本
·Linux系统下安装Perl及其模块的方法
·Java应用:Fedora Linux 8系统下配置JDK
·关于Linux系统下软件开发工具的选择
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·让WordPress在Ubuntu系统运行起来
·MySQL能否会继续让LAMP架构发扬光大?
·Ubuntu Linux 8.04 下安装GCC编译器过
·Ubuntu Linux 8.04系统JAVA环境配置方
·Linux环境变量配置和保存地点
·IIS上PHP5.23安装配置详细介绍
·Fedora 8.0下安装Perl过程
·Linux系统下手动安装pdo_mysql 成功
·在Linux下防止某个程序被运行两次的方
·Linux下automake软件编译与发布快速入
·Linux系统下精确到微秒级的时间操作函
·Linux系统下安装Perl及其模块的方法
  阅读排行
·Ubuntu Linux 8.04 下安装GCC编译器过
·Linux configure关于交叉编译的参数设
·Linux系统下手动安装pdo_mysql 成功
·如何在Ubuntu 7.10上实现C/C 开发环境
·关于Linux系统下软件开发工具的选择
·Linux环境变量配置和保存地点
·Linux系统下源码阅读工具ctags vim
·Weblogic在Linux和Unix下的后台启动脚
·Linux系统下 设置OpenGL的编程环境
·/etc/profile环境变量配置解析
·Linux Ftp服务器搭建支持Anonymous读写
·在Windows系统下配置Linux C 开发环境
·Linux系统下 MONO执行C#程序的方法
·Ubuntu配置Java Eclipse MyEclipse环境
·Ubuntu配置Java+Eclipse+MyEclipse环境
网摘收藏: