“./ filename”命令如何工作

时间:2016-12-18 17:55:26

标签: linux bash shell

我正在关注openvpn的教程,需要执行命令. ./vars。它显示一条消息。在读取文件时,我发现它在文件中执行echo命令并忽略文件中的其他所有内容。在添加其他echo语句时,它也会被执行。所以我想对此进行一些基本的解释。这只与bash有关吗?

3 个答案:

答案 0 :(得分:1)

.source是同义词:它只是在当前shell中逐行运行文件。 ./vars只是当前目录中名为vars的文件的路径。所以该命令所做的就是逐行运行文件vars

至于你的其余问题,我真的不明白你在问什么。你能说清楚吗?

答案 1 :(得分:0)

一开始.有一个解释here,而./filename是该文件的相对引用。

答案 2 :(得分:0)

如果您正在使用命令行界面,

.会将bash脚本导入或导入您正在处理的当前脚本(如果您正在创建脚本)或当前tty(终端或命令行)。它所采购的脚本必须是可执行文件(它应该设置-x标志)

./filename表示在当前目录中找到文件名。如果你只在tty(终端或命令行)中执行./filename或在脚本内部,它找到文件名并检查文件名是否可执行,然后它运行文件名。您不应该认为./表示当前的工作目录。使用两个点(../filename)而不是一个带有文件名的点告诉bash解析器在当前目录之前转到上一个目录

使用. ./filename您告诉bash解析器在您当前所在的目录中导入或获取(.)文件名(./filename)