<音乐>信仰在空中飘扬

作者:admin 发布时间:July 29, 2011 分类:蓝牙耳机



52899_a[1].jpg

google音乐地址:http://www.google.cn/music/album?id=Bc5f392dca49ef9bc

<转+精简> linux 变量和返回值

作者: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

diff指令返回值问题

作者: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

删除大量文件 Argument list too long 解决办法

作者: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

这样来解决

<转>Linux命令:find与exec的用法

作者: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