《LINUX与UNIX SHELL编程指南》读书笔记(六)
时间:2007-10-14 来源:wflai
第 6 章 命令执行顺序
1.使用"&&"
1) 命令 1 && 命令 2
2) &&左边的命令 1 返回真(即返回 0,成功被执行)后,&&右边的命令 2 才能够被执行
3) 举例: cp /apps/bin /apps/dev/bin && rm -r /apps/bin // 如果复制操作完成,那么执行删除操作 2.使用"||"
1) 命令 1 || 命令 2
2) 如果||左边的命令 1 未执行成功,那么就执行||右边的命令 2
3) 举例: cp file1 file2 || echo "if seeing this,cp failed." // 如果复制失败,就打印信息 3.用"()"和"{}"将命令结合在一起
1) ( 命令 1;命令 2;... ) : 当前 shell 中执行一组命令
2) { 命令 1;命令 2;... } : 类上,相应的命令将在子 shell 而不是当前 shell 中作为一个整体被执行。只有
在"{ }"中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子 shell 中执行,否则仍然在当前shell 执行。
3) ()、{} 一般和&&或||一起使用
eg: cp file1 file2 || (echo "cp failed" | mail zqf; exit) // 当文件 file1 很大时,复制需要花
费很多时间,如果复制过程中出错,将会发送一个邮件给用户,然后退出当前 shell
4) 在编写 shell 脚本时,使用"&&"和"||",可根据前面命令的返回值来控制其后面命令的执行,对构造判断语句非常有用。
1.使用"&&"
1) 命令 1 && 命令 2
2) &&左边的命令 1 返回真(即返回 0,成功被执行)后,&&右边的命令 2 才能够被执行
3) 举例: cp /apps/bin /apps/dev/bin && rm -r /apps/bin // 如果复制操作完成,那么执行删除操作 2.使用"||"
1) 命令 1 || 命令 2
2) 如果||左边的命令 1 未执行成功,那么就执行||右边的命令 2
3) 举例: cp file1 file2 || echo "if seeing this,cp failed." // 如果复制失败,就打印信息 3.用"()"和"{}"将命令结合在一起
1) ( 命令 1;命令 2;... ) : 当前 shell 中执行一组命令
2) { 命令 1;命令 2;... } : 类上,相应的命令将在子 shell 而不是当前 shell 中作为一个整体被执行。只有
在"{ }"中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子 shell 中执行,否则仍然在当前shell 执行。
3) ()、{} 一般和&&或||一起使用
eg: cp file1 file2 || (echo "cp failed" | mail zqf; exit) // 当文件 file1 很大时,复制需要花
费很多时间,如果复制过程中出错,将会发送一个邮件给用户,然后退出当前 shell
4) 在编写 shell 脚本时,使用"&&"和"||",可根据前面命令的返回值来控制其后面命令的执行,对构造判断语句非常有用。
相关阅读 更多 +