<音乐>信仰在空中飘扬
作者:admin 发布时间:July 29, 2011 分类:蓝牙耳机
google音乐地址:http://www.google.cn/music/album?id=Bc5f392dca49ef9bc
神之追忆的实验室...
作者:admin 发布时间:July 29, 2011 分类:蓝牙耳机
google音乐地址:http://www.google.cn/music/album?id=Bc5f392dca49ef9bc
作者:admin 发布时间:July 15, 2011 分类:DELL1520
1.什么是变量?
这个就不用废话了,shell中的变量跟其他高级语言中的变量概念是一样的。
2.shell中变量的类型?
shell中的变量类型有:本地变量、环境变量、位置变量、标准变量、特殊变量。
2.1.本地变量在shell脚本的生存周期中使用的变量(也就是登录一个shell到退出,这个shell为生存周期)设置一个本地变量格式为:变量名=变量,显示一个变量:echo ${变量名}也可以不要大括号,显示本地所有变量:set就可以,本地变量还可以设置为只读的:readonly 变量名,这时的变量就具有只读属性,如果在shell下运行命令readonly,就会显示当前环境下所有的只读变量。
2.2.环境变量用于所有的用户进程(也就shell下所有的子进程),这个就有点像windows中的环境变量了(系统–>高级–>环境变量),环境变量一般保存在$HOME/.bash_profile和/etc/profile中,前者是只适用于当前用户,后者适用于所有用户设置一个环境变量用export,比喻我们这里设置一个环境变量:export pagename=”ghostwwl”这样就设置了一个叫做pagename的环境变量,我们可以通过env这个命令来查看,还有就是可以直接通过运行export来查看。
2.3.位置变量也就相当于程序中的参数(也就相当于C中的argv),在shell中位置变量一般允许$0-$9一共10个,超过10个的,嘿嘿就必须使用其他方式了。很显然这里$0就是脚本的名字了,从$1开始就是后面的参数了。说白了也就是那个argv了。
参考文献:http://club.topsage.com/thread-195915-1-1.html
shell特殊字符的含义
符号
含义
$
shell变量名的开始,如$var
$-
使用set及执行时传递给shell的标志位
$!
最有一个子进程的PID
$#
传递给shell script的参数个数
$*
传递给shell script的参数
$@
所有参数,个别的用双引号括起来
$?
上一个命令的返回代码
$0
当前shell的名字
$n
(n:1-)位置参数
$$
进程标示号(Process Identifier Number,PID)
|
管道,讲标准输出转到下一个命令的标准输入
&
后台执行一个进程
>file
输出重定向
>>file
输出重定向,追加(append)
`command`
命令切换,如filename=`basename /usr/local/bin/tcsh`
原文地址 http://www.51testing.com/?uid-266868-action-viewspace-itemid-231885
作者:admin 发布时间:July 15, 2011 分类:DELL1520
今天偶然间写脚本用到diff命令,发现它的执行结果返回值和之前我的认识不太一样。
diff testa testb
当testa和testb,完全一样时,返回值是0
当testa和testb,有不同时,返回值是1
这让我很奇怪,因为之前都认为0是运行正常,非0是异常,后台上网找了下,得到如下描述
对于diff指令:0 表示没有不同,1 表示找到不同处,2 表示出错
看来返回时非零并不一定是运行不正常。
参考文献:http://baike.baidu.com/view/1374858.htm
作者:admin 发布时间:July 11, 2011 分类:DELL1520
通常我们删除很多文件使用通配符匹配时,执行rm指令会报错,提示 Argument list too long
例如:rm test*.log
如果文件数目过多,会提示Argument list too long
可以使用
find 路径 -name "日志名称匹配" |xargs rm
例如:find /your/log/path -name "test*.log" |xargs rm
这样来解决
作者:admin 发布时间:July 11, 2011 分类:DELL1520
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。
看例子:
find ./ -name "*.txt" -exec ls -l "{}" /;
查找当前目录的.txt文件并以列表形式列出来
find ./ -name "*.txt" -exec mv "{}" "{}d" /;
批量修改当前目录下.txt文件的后缀名改为.txtd
解释:
-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。
{} 花括号代表前面find查找出来的文件名。
例子:
find ./ -name "*.tmp" -exec rm -rf "{}" /;
删除所有的临时文件
原文地址:http://blog.csdn.net/liuyong0818/article/details/5935920