gpt4 book ai didi

linux - 获取包含文件夹的名称

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:52:27 25 4
gpt4 key购买 nike

我有一个 shell 脚本,我想将它复制到许多目录中

在这个脚本中,我如何初始化变量

PARENT_FOLDER

以某种方式在其中存储包含此脚本的文件夹的名称(而不是绝对路径)?

请注意,此脚本可以从任何文件夹运行。

提前致谢。

最佳答案

在大多数情况下,以下获取脚本所在目录的绝对路径:

PARENT_FOLDER=$(dirname "$(readlink -f "$0")")

(OSX 和 BSD 可能缺少 -f 选项,否则路径可能仍包含符号链接(symbolic link)。)

如果你只想要路径中最后一个目录的名称,只需添加一个步骤:

PARENT_FOLDER=$(dirname "$(readlink -f "$0")")
PARENT_FOLDER=${PARENT_FOLDER##*/}

在缺少 readlink -f 但 bash 可用的系统上:

PARENT_FOLDER="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_FOLDER=${PARENT_FOLDER##*/}

如果同时缺少 readlink -f 和 bash:

PARENT_FOLDER="$( cd "$( dirname "$0" )" && pwd )"
PARENT_FOLDER=${PARENT_FOLDER##*/}

关于linux - 获取包含文件夹的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22855823/

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