您的位置:首页 > 运维架构 > Shell

BASH命令和SHELL脚本总结(6)括号篇

2012-09-29 16:33 666 查看
@大括号的使用
cat{err.log,test1.sh,test2.txt}>RedirectFile.txt #将大括号中三个文件重定向到RedirectFile.txt
cat{err.log,test1.sh,test2.txt}|more #将大括号中三个文件重定向到屏幕
cat{err.log,test1.sh,test2.txt} #将大括号中三个文件重定向到屏幕
注意大括号中的项目之间使用逗号分隔,并且不能加空格,否则报错。

@括号的用途@
if [ ! -s$ONEDAYRESULT ]; then
(
cd$OUTPUT_PATH/$DATE1/
filelist=`lsfilter.*`
sort -m$filelist --temporary-directory=./
)>$ONEDAYRESULT.imcomplete
mv$ONEDAYRESULT.imcomplete $ONEDAYRESULT
fi
作用总结:把括号中的所有表达式作为一个子进程,本例中,括号内的结果会全部传到下一个管道,而不是只有最后一个表达式的结果会传到下一个管道。

@( )与{ }的区别@
命令群组
我们在shell操作上,需要在一定条件下一次执行多个命令, 也就是说,要么不执行,要么就全执行,而不是每次依序的判断是否要执行下一个命令。
圆括号( )
( )将command group置于sub-shell去执行,也称nestedsub-shell。
花括号{}
{ }则是在同一个shell内完成,也称为non-named commandgroup

@function与()与{}

所谓的function ,就是用一个名字去命名一个command group,然后再调用这个名字去执行command group
定义方式

定义一
functionfunction_name {
command1
command2
command3
....
}

定义二
function_name() {
command1
command2
command3
....
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: