全部博文(346)
分类:
2008-09-04 15:11:10
使用&&:
格式: 命令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/下,并打印出来