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