shell 小问题汇总

今天写脚本碰到一个奇怪的事情

变量a为定义

if [ -a $a ];then echo "exists"; else echo "not exists";fi

结果输出:

exists

瞬间瞎了, 不过改成这样就可以了

if [ -a "$a" ]

当然这里的a是脚本输入的参数, 有的时候可能没有输入参数, 所以可能出现没有定义的事情发生

另外, ((exp, ..)), exp可以是c语言语句, 变量不用$, 但是只能是整数,浮点数都不行

小知识,参考资料:

http://www.cnblogs.com/chengmo/archive/2010/10/19/1855577.html

http://blog.csdn.net/taiyang1987912/article/details/39551385

时间: 2024-12-19 13:58:25

shell 小问题汇总的相关文章

我所遇到的shell小知识点汇总

1)shell if 的使用 判断a.txt是否存在 if [ -f a.txt] 2)命令的执行结果 将命令的执行结果赋值给变量,以下两种方法是一样的 time=$(date + %Y%m) time=`date + $Y%m` 3)查找出我们需要的东西 这个可以用来判断命令的执行结果,通过所选取的文件或命令执行结果中是否有相应的值 -o表示匹配的就只是我们关心的部分,加-P表明后面的pattern是perl兼容正则表达式,因为pcre支持零宽断言 [[email protected] by-

Shell细小问题汇总

Shell细小问题汇总 本文原文出处: http://blog.csdn.net/bluishglc/article/details/44276607 严禁任何形式的转载,否则将委托CSDN官方维护权益! Shell细小问题汇总 if 多条件组合判断示例 Linux系统时间设置 在远程节点上推送命令时需要特别注意和 sudo -i和su -l的差异分析 关于 varrun和pid 文件测试参数汇总 字符串测试参数汇总 如何正确传递数组参数 批量修改文件名 配置163 yum repo的脚本 关于

Android开发小问题汇总

使用简介 在写程序的过程中,难免会遇到内存泄露的时候,这个时候如果手工查找内存泄露,不说方法没有通用的,就是真的要自己手工查找也是很耗时间和精力的.诚然,我们可以借助一些工具,而且我们还会惊奇地发现这些工具很有用(比如Intel的内存泄露检测工具),但是因为往往这些工具安装比较麻烦,而我们写的程序又不是很大,所以我们或许可以找个更小巧的方法.微软就提供了这样的方法,我们只需要在程序中加入几行代码,就可以发现内存泄露的问题,然后我们就可以定位内存泄露了(自己用几行代码就可以实现,神奇!).那么如何

近期开发项目中用到的编码小技巧汇总说明(二)

之前有总结发表过<近期开发项目中用到的编码小技巧汇总说明>,虽没有涉及什么高大上的东西,但都是一些很实用的平时大家可能用到的知识,今天继续分享一些小技巧,欢迎大家了解,不足之处,可以直接评论留言谢谢! 接上篇序号 6.解决当同一个类在不同的项目中(命名空间不同,但类的定义完全相同的情况)使用BinaryFormatter进行序列化后再反序列化时出现找不到程序集的问题或反序列化的结果为null 原代码:(DataSetSurrogate分别在API项目中,客户端项目中都存在,类定义一样但由于不在

6条shell小技巧,让脚本显得不再业余【转】

如何能让自己的shell显得不那么业余?下面6点实践一定有用. 画外音:本篇文章源自Google的一篇实践,抽取了部分1分钟能读完的内容,加入了一些分析. 一.以下面的语句开场 set -o nounset 在默认情况下,遇到不存在的变量,会忽略并继续执行,而这往往不符合预期,加入该选项,可以避免恶果扩大,终止脚本的执行. 画外音:有些变量名的手误,会让人崩溃的调试半天,通过这个方式,这类手误秒发现. set -o errexit 在默认情况下,遇到执行出错,会跳过并继续执行,而这往往不符合预期

腾讯优测干货精选| 安卓开发新技能Get -常用必备小工具汇总

文/腾讯公司 陈江峰 优测小优有话说: 移动研发及测试干货哪里找?腾讯优测-优社区你值得拥有~ 开发同学们都知道,安卓开发路上会碰到很多艰难险阻,一不小心就被KO.这时候,没有新技能傍身怎么行?今天我特意将自己使用过的安卓开发小工具进行了汇总,希望与大家共同进步. 话不多说,实用工具大讲堂现在开始! Lint(清理资源.安全检查.layout优化等) 一般在提测前清理一下冗余资源,查一下有没有用了一些高API Level才有的接口,查一下安全问题. Findbugs(检查java代码缺陷)在开发

mysql写Shell小技巧

今天终于在表哥的帮助下解决了文件导入/出这个问题了.(很菜逼的一个问题),然后将最近看到的文章都自己测试了下,顺便奉上记录.1.Mysql数据库支持union的时候写文件小技巧: 采用常规的union写入,可以看到前面的字段占位数肯定也会被写入,替换成null也是一样的结果,这个对于写shell没啥大碍,但是如果用来写bat,mof,vbs等文件就会出问题了,那么怎么去掉这个只写入我们需要的内容呢?采用hex编码就好了. 将我们要写入的内容使用hex编码在分段写在每个字段位上,这样就可以只写入我

latex: 使用中的小问题汇总 updating...

latex is fucking good. 当使用latex写文档后,发现它真的是太强大了,包含的内容如此之多,如此之广,可谓All in one, one is enough! 当然在使用它的时候会有很多很多细节无法记住,那么现将遇到的细小问题汇总于此,说明如下: 主要用于汇总latex使用过程中遇到的各种小问题,方便以后查阅: 涉及标签,命令等相关用法: 所有小问题如下: 1. Tikz绘图时,使node labels的位置位于node之下,而非node之中. 参考:Tikz node l

Ubuntu小点汇总,更新中...

转自:http://blog.csdn.net/zxz_tsgx/article/details/39713627 昨天重装了Ubuntu14.04 64位版,又被一些基础操作/设置给搞怕了,以前安装的时候没有记录下来,一段时间后就忘了,然后继续捣鼓一遍,好不烦恼,所以这次就尽量记录下来; 安装输入法 ==!这个整了半天没装成sogou,使用谷歌拼音,当然,首先是打开language support进行更新,并安装Chinese(Simplfied)语言支持(我装的是E文版系统),并选择系统输入