gpt4 book ai didi

linux - DIR ="$( cd "$( dirname "${BASH_SOURCE[0]}")"&& pwd )"它是如何工作的?

转载 作者:IT老高 更新时间:2023-10-28 12:40:17 29 4
gpt4 key购买 nike

我需要获取脚本的路径。如果我已经在同一个目录中,我可以使用 pwd 来做到这一点,我在网上搜索并找到了这个

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")"&& pwd )"

但我不知道如何使用它。

最佳答案

Bash 维护了许多变量,包括 BASH_SOURCE,它是一个源文件路径名数组。

${} 充当一种对变量的引用。

$() 充当对命令的一种引用,但它们在自己的上下文中运行。

dirname 为您提供所提供参数的路径部分。

cd 改变当前目录。

pwd 给出当前路径。

&& 是一个逻辑 and 但在此实例中使用它是因为它的副作用是一个接一个地运行命令。

总之,该命令获取脚本的源文件路径名,将其剥离到路径部分,cds 到该路径,然后使用 pwd 返回 (有效)脚本的完整路径。这分配给 DIR。毕竟,上下文被展开,所以你最终回到了你开始的目录,但环境变量 DIR 包含脚本的路径。

关于linux - DIR ="$( cd "$( dirname "${BASH_SOURCE[0]}")"&& pwd )"它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39340169/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com