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

来源:互联网 发布:怎么预测时间序列数据 编辑:程序博客网 时间:2024/06/05 00:58

@大括号的使用

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

   ....

}

 

原创粉丝点击