<转+精简> linux 变量和返回值
七 15th
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指令返回值问题
七 15th
今天偶然间写脚本用到diff命令,发现它的执行结果返回值和之前我的认识不太一样。
diff testa testb
当testa和testb,完全一样时,返回值是0
当testa和testb,有不同时,返回值是1
这让我很奇怪,因为之前都认为0是运行正常,非0是异常,后台上网找了下,得到如下描述
对于diff指令:0 表示没有不同,1 表示找到不同处,2 表示出错
看来返回时非零并不一定是运行不正常。
参考文献:http://baike.baidu.com/view/1374858.htm
关于nosql产品:高性能?
七 13th
nosql产品的官方的说明都是说高性能. 因为这是一个很好的卖点.对此我们应该有一个清楚的认识.
我们衡量的高性能,应该是高访问压力下的高性能.
如果我们使用cache(memcached),我们不用担心读的压力, 一些nosql产品和传统数据库产品都有cache热数据的功能,只是实现效率和[......]
sps2007迁移2010的关键点
七 13th
1、停了原来的数据库,拷贝mdf和log文件到新的机器
2、在新的数据库里面附加拷过来的数据库,如果出错,尝试升级sql server express r2 sp1
3、加载数据库需要用命令行
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN>...
关于nosql产品: 选择nosql产品的一些建议
七 11th
关于nosql产品: 选择nosql产品,我说下我的一些看法,希望和大家达成共识.
1. 应该随着大流走.
我们先看一些业内公司的使用,比如facebook,twitter,仍然是绝大部分的应用使用mysql+memcached. facebook内的mysql主要用来存储key-valu[......]
删除大量文件 Argument list too long 解决办法
七 11th
通常我们删除很多文件使用通配符匹配时,执行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的用法
七 11th
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
[初级教程]用SecureCRT+Xming轻松远程实现linux的X DISPLAY
七 5th
测试环境:RHEL 6.1,SecureCRT 5.2.1,Xming 6.9.0.31
-----------------------------------------------
引用:http://www.zw1840.com/blog/zw1840/2008/10/putty-xming-linux-gui.html
在家里的PC上用VMWare做了一个Oracle Enterprise Linux虚拟机做数据库,虚拟机OEL没启用图形界面,因此需要在PC上装一个X Window Server才能使用GUI。
看Wiki系统地了解了一下X Window System。X Window System(常被简称为X11或X),是一套基于X display protocol的windowing system,X GUI环境的功能包括窗口的绘制、移动,以及与鼠标、键盘等输入设备的交互。X 协议当前版本为MIT在1987年9月制定的11版----这就是X11的来历,最新版则是2008年9月发布的X11R7.4。
X采用C/S模型:一个X server 和多个应用程序(client)通信。server接收client的请求绘制窗口,并将来自鼠标、键盘等设备的输入传递给client。
初学X的用户经常被描述如何远程使用Linux GUI环境的文档搞糊涂:Linux主机上的应用程序被称为client,而用户终端计算机被称为server,看上去好像说反了。实际上,X是从程序结构而非用户或硬件环境的角度来描述的,在用户终端上工作的X server为应用程序提供服务,所以被看作server,而Linux主机上的应用程序接受服务,所以被看作client。
X server和client可以位于同一计算机上,例如在Linux主机上使用KDE等桌面环境就是这种模式。X server也可以通过同构网络、异构网络或Internet与client通信。
X server与client之间的通信是不加密的,这个问题可以通过SSH解决。SSH是Secure Shell的简称,SSH可以看作是通信被加密压缩版的telnet。我需要用到SSH的forwarding功能,当X server与client所在计算机都支持SSH协议时,X server与client之间不安全的TCP/IP连接可以转送到(forwarding)二者之间建立的SSH连接上。
说了一堆概念,现在可以挽起袖子干活了。Linux主机(A, IP: 192.168.1.201)和Windows客户机(B, IP: 192.168.1.101)都已经装好了,我要做的就是在 B 上安装一个X server,一个SSH客户端,在A上启用SSH的X11 forwarding。
-----------------------------------------------
1. 安装配置B上的X server
X server我选择的是Xming,这是一个免费的windows平台上的X server,很好用。
主程序Xming X server, Xming-6-9-0-31-setup.exe
安装完成后,运行 XLaunch 配置和启动Xming X server,前面基本都是直接“下一步”,
Display 代表一套 I/O 设备,包括显示、鼠标、键盘;Display Number 就是这套 I/O 设备的代号;同时 Display Number 还决定了 Xming X server 的 TCP 端口,端口号为 6000 + Display Number。Linux 主机上的应用程序通过此端口建立与 Xming X server 的连接。
有一个地方需要注意:最好是勾选“No Access Control”:
否则Linux可能会提示“refused by server”:
Xlib: connection to "192.168.10.8:0" refused by server Xlib: No protocol specified Error: Can't open display: 192.168.10.8:0
2.接着在Putty或SecureCRT中启用“Enable X11 forwarding”即可
現在在工作站執行 GUI 程式,就會出現在你的 Windows 桌面上啦!试试xeyes或xev,是不是很好玩?!



