我正在关注关于 openvpn 的教程,它需要执行一个命令. ./vars
。它显示一条消息。在阅读文件时,我发现它在文件中执行了一个 echo 命令,而忽略了文件中的所有其他内容。在添加其他 echo 语句时,它也会被执行。所以我想对此进行一些基本的解释。这仅与 bash 有关吗?
问问题
60 次
3 回答
1
.
并且source
是同义词:它只是在当前 shell 中逐行运行文件。./vars
只是vars
当前目录中命名的某个文件的路径。所以该命令所做的就是vars
逐行运行文件。
至于你的其他问题,我真的不明白你在问什么。你能澄清一下吗?
于 2016-12-18T18:01:08.380 回答
0
.
如果您正在使用命令行界面,则将 bash 脚本源或导入到您正在处理的当前脚本(如果您正在创建脚本)或当前 tty(终端或命令行)。它采购的脚本必须是可执行文件(它应该设置 -x 标志)
./filename
表示在当前目录中查找文件名。如果您仅 ./filename
在 tty(终端或命令行)或脚本中执行,它会查找文件名并检查文件名是否可执行,然后运行文件名。您不应该认为这./
意味着当前的工作目录。使用两个点 ( ../filename
) 而不是一个带文件名的点告诉 bash 解析器转到当前目录之前的上一个目录
使用. ./filename
您告诉 bash 解析器.
在您当前所在的目录中导入或获取 () 文件名 (./filename)
于 2016-12-18T22:53:19.823 回答
0
.
开头有一个解释here,并且是对文件的./filename
相对引用。
于 2016-12-18T18:01:15.987 回答