如果bash脚本包含相对路径(指定文件、目录……),则该路径是相对于的相对路径,
- bash 脚本的父目录的路径名,或者
- 我们运行 bash 脚本的当前目录?
如果我可以问,类似的问题在Python脚本中、在Java程序中、在C程序中、在C++程序中......有相同的答案吗?
谢谢。
我没有看到与链接的问题有任何相似之处。我问的是程序中的相对路径是相对于什么的。
答案1
父目录是包含项目的目录:
- 对于文件,其父文件的路径是
.
,因为那是文件所在的位置。文件本身是./file
. - 对于目录,父目录
..
就是.
目录本身。
这是 Linux 的通用表示法,并得到广泛认可。理论上,某些语言可能会使用不同的表示法,但我无法给出示例。
这是使用绝对路径的示例,您可以轻松地通过大脑的力量从中推导出相对路径。
$ echo 'readlink -f "$0"' > script
$ ln -s script link
$ chmod +x script
$ ./script
/home/tomas/x/script
$ ./link
/home/tomas/x/script
$ readlink -f .
/home/tomas/x
$ readlink -f ..
/home/tomas