我最近了解到,
. ./.a.a
并且./.a.a
是一样的。
但是尝试source source .a.a
会出错。IMO,.
作为 Bash 别名source
不应该表现得不同,所以我错过了什么?
奖金,为什么. .
可以,而source source
不是?
Ste*_*itt 33
你不能只是取代.
与source
无处不在; 如果
. ./.a.a
Run Code Online (Sandbox Code Playgroud)
有效,您可以替换第一个.
(至少在 Bash 中):
source ./.a.a
Run Code Online (Sandbox Code Playgroud)
第二个.
代表当前目录下,你不能替换source
(尤其是不./
与source
你所做的)。
source source
Run Code Online (Sandbox Code Playgroud)
如果您source
在当前目录中调用了一个文件,其中包含对您当前的 shell 有意义的内容,那就没问题了。我看不出怎么. .
会好...
此外,. ./.a.a
与不同的./.a.a
是,第二种形式.a.a
在单独的 shell 中运行。请参阅采购('.' 或 'source')和在 bash 中执行文件有什么区别?详情。
cou*_*ode 11
source
是一个 shell 关键字,应该像这样使用:source
file
wherefile
包含有效的 shell 命令。这些 shell 命令将在当前 shell 中执行,就像从命令行键入一样。现在,.
file
完全一样。
除此之外,.
仅表示“当前工作目录”,如./xyz
(“xyz
在此目录中”)或a/b/./c/./d
(与 相同a/b/c/d
)。
除此之外,.
文件名中的含义仅按约定.foobar
表示,其中表示“隐藏”文件(不是真的......)或foobar.pdf
表示通过后缀(此处为.pdf
)的文件格式。
这些不同的含义不能互换。