使用Bashsource /some/script
和. /some/script
在 Bash 中执行脚本(例如 /some/script)有什么区别?
我在尝试在 openvz 容器内安装 USB 设备时遇到了这个例子,我以前从未在第二行中看到过这个构造。你能解释一下它的含义吗?
#!/bin/bash
. /etc/vz/vz.conf
Run Code Online (Sandbox Code Playgroud) 我试过了which cd
,但它没有给出路径,而是返回了退出代码 1(用 进行了检查echo $?
)。coreutilcd
本身正在工作,所以可执行文件应该在那里,对吗?我也运行了find
for cd
,但没有显示可执行文件。那它是如何实施的呢?
更新:
我不知道我是否应该在另一篇文章中问这个问题,但因为我认为这里很好,我正在扩展(?)这篇文章......所以答案实际上很简单,没有可执行文件 - 因为它是内置程序 — 但我发现一些内置程序(Fedora 中的 bash shell)具有可执行文件!所以内置 -> 我想没有可执行文件是不对的?也许一个解释什么是内置函数的答案(内置命令?),这实际上是这里的问题,而不是更多地关注cd
......之前发布的一些好的链接表明内置函数不是程序......那么它们是什么?它们是如何工作的?它们只是外壳的函数或线程吗?