我遇到了以下命令:
source foo -c configs/foo.config-c标志实际上是可以在这里做什么的?foo是bash脚本,foo.config看起来也是一个。
发布于 2020-11-24 16:26:13
source命令是POSIX-standardized command .的bash专用别名。POSIX将您询问的特定用法作为允许的扩展:
(点的KornShell版本)采用可选的参数,这些参数被设置为位置参数。这是一个有效的扩展,允许点脚本与函数的行为相同。
因此,当从foo读取的代码被调用时,它的$1将是-c,而它的$2将是configs/foo.config。
如果您在bash中运行help source,也会显式地记录这一点:
源:源文件名参数从当前shell中的文件执行命令。从当前shell中的文件名读取和执行命令。$PATH中的条目用于查找包含文件名的目录。如果提供了任何参数,它们将在执行文件名时成为位置参数。退出状态:返回在文件名中执行的最后一个命令的状态;如果无法读取文件名,则失败。
注意上面的文本:,如果提供了任何参数,它们将成为执行文件名时的位置参数。
https://stackoverflow.com/questions/64990545
复制相似问题