我碰到这条线在shell脚本的人来:目的方括号
[-f $host_something ] && .$host_something
什么是方括号-f开关该做的,什么是安定的”点“它与同一个环境变量
这可能是一个非常基本的shell脚本功能..但试图查找在谷歌的回答是艰难的,因为我无法充分到搜索引擎是什么,我想解释一下。
我碰到这条线在shell脚本的人来:目的方括号
[-f $host_something ] && .$host_something
什么是方括号-f开关该做的,什么是安定的”点“它与同一个环境变量
这可能是一个非常基本的shell脚本功能..但试图查找在谷歌的回答是艰难的,因为我无法充分到搜索引擎是什么,我想解释一下。
的[
实际上是一个实际的二进制。这是test(1)
命令的别名。它会忽略它的应该是]
最后一个参数。运行man test
获取更多信息。这不是真正的shell语法。
方括号实际上是test
工具的别名,因此您可以查看man test
以了解其工作原理。该-f
开关是可以通过这个工具可以运行很多的测试之一,测试文件是否存在,并且是一个普通文件。
你需要更多的空间。
命令
[ -f $host_something ] && . $host_something
代表
if [-f $host_something ]; then
source $host_something
fi
或在词:
当在可变host_something
给定的文件确实是一个文件,然后执行该文件中的行,而无需打开子外壳。你不需要一个子shell,因为subshell的所有设置一旦完成就会丢失。
我认为你缺少一些空间 - 一个后'[',并一前一后'.' ......这些都是重要的;没有它们,该命令将无法正常工作。 – psmears