读脚本代码(一)
来源:互联网 发布:iphone数据恢复工具 编辑:程序博客网 时间:2024/04/28 23:41
#!/bin/sh
# Shell script functions for the OSSEC HIDS
# Author: Daniel B. Cid <daniel.cid@gmail.com>
# Last modification: Mar 02, 2006
TRUE="true";
FALSE="false";
##########
# isFile 判断是否为一个文件
##########
isFile()
{
FILE=$1
#列出文件并屏蔽所有输出
ls ${FILE} >/dev/null 2>&1
#如果返回值为0,表明FILE是一个文件,否则返回错误码。
if [ $? = 0 ]; then
echo "${TRUE}"
return 0;
fi
echo "${FALSE}"
return 1;
}
用法:
if [ ! `isFile ${PREDEF_FILE}` = "${FALSE}" ]; then
. ${PREDEF_FILE}
fi
#0
ls ${FILE} >/dev/null 2>&1解释:
ls ${FILE}是命令,>/dev/null:stdout输出结果重定向到/dev/null,即不显示任何内容;2>&1:stderr的输
出结果重定向到stdout,即也是重定向到/dev/null。
/dev/null是一个黑洞,进去任何东西都不会出来。所以就是屏蔽输出的意思。将标准输出和标准错误输出都屏
蔽。
#1
测试:
]# ls ;第一次命令
]# anaconda-ks.cfg install.log.syslog ;第一次输出结果
]# ls >/dev/null ;第二次命令, 没有输出结果
]# ls fdfdf ;第三次命令:fdfdf文件不存在
]# ls:无法访问 fdfdf:没有哪个文件或目录 ;第三次输出结果
]# ls fdfdf >/dev/null ;第四次命令
]# ls:无法访问 fdfdf:没有哪个文件或目录 ;第四次输出结果
]# ls fdfdf >/dev/null 2>&1 ;第五次命令, 没有输出结果
证明 >/dev/null 2>&1将所有输出屏蔽。
#2 . ./src/init/shared.sh
意思是包含这个文件。相当于#include "./src/init/shared.h"
#3 /dev/null和/dev/zero的区别
抄自http://hi.baidu.com/hackers365/blog/item/1f2fd28f4f8e17ff513d92f1.html
/dev/null,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!
/dev/zero,是一个输入设备,你可你用它来初始化文件。
/dev/null------它是空设备,也称为位桶(bit bucket)。任何写入它的输出都会被抛弃。如果不想让消息以
标准输出显示或写入文件,那么可以将消息重定向到位桶。
/dev/zero------该设备无穷尽地提供0,可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设
备或文件写入字符串0。
$if=/dev/zero of=./test.txt bs=1k count=1
$ ls -l
total 4
-rw-r--r-- 1 oracle dba 1024 Jul 15 16:56 test.txt
eg,
find / -name access_log 2>/dev/null
这样,一些诸如一些错误信息就不会显示出来。
- 读脚本代码(一)
- 站内搜索脚本代码(一)
- Photoshop脚本代码一键生成所有android图标
- Photoshop脚本代码一键生成所有IOS图标
- (一) jsp中代替脚本的一段代码
- 读代码笔记《一》
- 代码添加脚本 删除脚本
- 类似msn的提示效果代码系列一:简单的脚本提示
- 含有JAVA代码的LR脚本,换了一台机器,跑不通了怎么办?
- Photoshop脚本代码一键生成所有cocos2d项目下的IOS图标
- 基于git+rsync的代码--备份/上线/回滚--脚本一例
- 持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
- 持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
- 读<代码大全>后(一)
- 代码格式化脚本CodeFormat
- VBS脚本常用代码
- VBS脚本常用代码
- VBS脚本常用代码
- 依然是一团浆糊
- 右键
- USB通信模型
- CHtmlView 在切换回其他视图时 OnDestroy() 中的处理
- 40个令你看后心痛的短句
- 读脚本代码(一)
- 产生死锁的四个条件
- JsonConfig中setExcludes方法的使用
- REST
- SDI 视图切换函数
- VMware下RedHat安装Oracle 9i RAC全攻略
- 互联网实验室
- USB封包
- 安装和部署Visual C++ 2005 SP1运行时刻库