现在的位置: 首页 > 综合 > 正文

Unix命令执行顺序

2013年12月04日 ⁄ 综合 ⁄ 共 690字 ⁄ 字号 评论关闭

使用&&:
    格式:      命令1 && 命令2
    说明:      只有命令1执行后返回真(返回0),命令2才会执行
    例子:      cp /apps/bin /apps/dev/bin  &&  rm -r /apps/bin 只有全部复制成功才删除此目录

使用||:
    格式:      命令1 || 命令2
    说明:      只有命令1执行后返回假(返回1),命令2才会执行
    例子:      cp /apps/aaa.txt /tmp/aaa.txt || echo "fail"   复制如果不成功那么echo信息

用()和{}将命令结合在一起:
    格式:    (命令1;命令2;...)          {命令1;命令2;...}
    说明:    用来将多个命令结合在一起,依次执行,其中{}表示相应的命令将在子shell而不是当前shell中作为一个整体被执行,只有在{}中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子shell中执行,否则在当前shell执行
    例子:      mv aaa.txt bbb.txt || ( echo "fail"|mail user; exit )
       如果把aaa.txt改名为bbb.txt失败,那么发送email后再退出,如果没有()的话,那么只执行最后的exit命令
       sort abc.txt > abc_sort.txt && ( cp abc_sort.txt /logs/abc_sort.txt; lp abc_sort.txt )
       把abc.txt排序后定向到abc_sort.txt中,成功后复制/logs/下,并打印出来

抱歉!评论已关闭.