gpt4 book ai didi

linux - Linux 中的绝对路径和相对路径

转载 作者:太空宇宙 更新时间:2023-11-04 13:03:59 25 4
gpt4 key购买 nike

我正在编写一个 shell 脚本,它运行 pwd 命令并将其输出用于脚本执行的其他一些任务。当我转到特定目录并运行它时,该脚本工作得很好。但是,当我尝试通过提供脚本的完整路径从其他位置运行脚本时,我没有得到所需的输出,因为 pwd 命令提供了当前目录的路径。我该如何解决这个问题?无论从何处运行脚本,我如何才能编写出正确的内容?
当我使用 .. 进入上一个目录时,也遇到了同样的问题。我希望脚本采用相对于其位置的路径,而不是运行脚本的路径。如果需要其他一些详细信息,请告诉我。

最佳答案

您可以使用$0 提取脚本,然后将其与pwd 合并

$ cat abc.sh
echo $0

DIR1=$(dirname `pwd`/$0)
echo $DIR1

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

在所有情况下还有其他方法可以实现:

关于linux - Linux 中的绝对路径和相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33211677/

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