【发布时间】:2017-05-03 20:00:50
【问题描述】:
我正在关注关于 openvpn 的教程,它需要执行命令 . ./vars。它显示一条消息。在阅读文件时,我发现它在文件中执行了一个 echo 命令,而忽略了文件中的所有其他内容。在添加其他 echo 语句时,它也会被执行。所以我想对此进行一些基本的解释。这仅与 bash 有关吗?
【问题讨论】:
-
这可能会有所帮助:
help . -
可以使用
.(source) 内置 bash 命令而无需完整或相对文件路径:. vars但在这种情况下,.命令会在目录中搜索其参数在$PATH变量中列出。当您的文件具有可以在某些系统bin目录中使用的名称时,可能会选择错误的文件:. echo或. ./echo。 -
我认为被忽略的行看起来像
dir="/home/someone"。这些行不会被忽略(以#开头的行被跳过,它们是 cmets),但会被执行:它将为名称为dir的var提供=右侧的值(没有空格大约=)。你可以试试echo "me=${me}"; me=Anmol; echo "me=${me}"。 -
Stack Overflow 是一个编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参阅帮助中心的What topics can I ask about here。也许Super User 或Unix & Linux Stack Exchange 会是一个更好的提问地方。另见Where do I post questions about Dev Ops?
标签: linux bash shell dot-source