linux shell中函数参数及其变量
linux中的SHELL函数是可以带参数的.
====代码===
#!/bin/bash
function show()
{
echo $0 #返回脚本本身名字而不是函数名
echo $1 #返回调用时的第一个参数
.
.
.
echo $9 #返回调用时的第九个参数
}
echo "Begin" #程序开始
show #不带参数的调用返回shell本身的名字
show local #带参数调用.返函数本身的名字加参数local
####end#####
需要注意的是:
向函数传递参数就像在一般脚本中使用特殊变量$1,$2一样...函数取得所传参数后,将原始参数传回shell脚本,因此最好先在函数内重新设置变量保存所传的参数.这样如果函数有一点错误,就可以通过已经本地化的变量名迅速加以跟踪.
还有变量的作用域:
函数内部变量作用域只是在函数内部
而主SHELL变量的作用域在整个shell中...包括其函数
还有局部变量声明方式:
local valuename=value
此声明格式的变量只能在变量声明部分使用....
顺便推荐一个学习的BOLG:http://xiaowang.net/
相关文档:
有这么一系列的问题,是否在困扰着你:用户程序编译连接形成的地址空间在什么范围内?内核编译后地址空间在什么范围内?要对外设进行访问,I/O的地址空间又是什么样的?
先回答第一个问题。Linux最常见的可执行文件格式为elf(Executable and Linkable Format)。在elf格式的可执行代码中,ld总是从0x8000000开始安排程序的& ......
初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了。好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发。但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催货。当然,还会顺带提一下其他的驱动程序写法。
&n ......
1. vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=example.com
GATEWAY=192.168.0.1
NDS1=219.150.32.132 // dns 服务器地址
2. vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:15:E9:B1:32:AF
BOOTPROTO=static
IPADDR=192.168.0.188
NETMASK=255. ......
Linux系统启动过程
本文以RedHat9.0和i386平台为例,剖析了从用户打开电源直到屏幕出现命令行提示符的整个Linux启动过程。并且介绍了启动中涉及到的各种文件。
当用户打开PC的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装的引导程序lilo或grub开始引导 Linux,Linux首先进行内核的引 ......
最近实验室内部的mysql的root密码被修改了,需要想办法修改新密码。方法如下:
1, 关闭mysql服务
/etc/init.d/mysqld stop
2,使用–skip-grant-tables选项启动MySQL服务,可以修改/etc/inin.d/mysqld脚本启动位置增加此选项,
vi /etc/init.d/mysqld
在下面运行启动的语句里增加--skip-grant-tables
......