在使用Unix操作系统很久之后,我们都会有自己的一个使用模式,但是,下面我们介绍一个使用习惯,这些习惯可以让我们在使用Unix操作系统过程中提高命令行工作效率。帮助您克服许多常见使用怪癖。
Unix操作系统将命令与控制操作符组合使用
您可能已经知道,在大多数Unix操作系统 Shell 中,您可以在单个命令行上通过在命令之间放置一个分号 (;) 来组合命令。该分号是 Shell 控制操作符,虽然它对于在单个命令行上将离散的命令串联起来很有用,但它并不适用于所有情况。例如,假设您使用分号来组合两个命令,其中第二个命令的正确执行完全依赖于第一个命令的成功完成。
如果第一个命令未按您预期的那样退出,第二个命令仍然会运行——结果会导致失败。相反,应该使用更适当的控制操作符(本文将描述其中的部分操作符)。只要您的 Shell 支持它们,就值得养成使用它们的习惯。
Unix操作系统仅当另一个命令返回零退出状态时才运行某个命令
使用 && 控制操作符来组合两个命令,以便仅当 第一个命令返回零退出状态时才运行第二个命令。换句话说,Unix操作系统如果第一个命令运行成功,则第二个命令将运行。如果第一个命令失败,则第二个命令根本就不运行。例如:
好习惯 1 的示例:将命令与控制操作符组合使用 ~ $ cd tmp/a/b/c && tar xvf ~/archive.tar
在此例中,存档的内容将提取到 ~/tmp/a/b/c 目录中,除非该目录不存在。如果该目录不存在,则 tar 命令不会运行,因此不会提取任何内容。
Unix操作系统仅当另一个命令返回非零退出状态时才运行某个命令
类似地,控制操作符分隔两个命令,并且仅当第一个命令返回非零退出状态时才运行第二个命令。换句话说,如果第一个命令成功,则第二个命令不会运行。如果第一个命令失败,则第二个命令才会 运行。在测试某个给定目录是否存在时,通常使用此操作符,如果该目录不存在,则创建它:
好习惯 1 的另一个示例:将命令与控制操作符组合使用 ~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c
您还可以组合使用本部分中描述的控制操作符。每个操作符都影响最后的命令运行:
好习惯 1 的组合示例:将命令与控制操作符组合使用 ~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c && tar xvf -C tmp/a/b/c ~/archive.tar
这些在Unix操作系统中的使用方法,我们要好好的掌握。希望大家也能够养成好的习惯。来提高我们的效率。
【编辑推荐】