是否有命令在给定相对路径的情况下检索绝对路径?
例如,我希望$ line包含dir中每个文件的绝对路径 ./etc/
find ./ -type f | while read line; do
echo $line
done
Run Code Online (Sandbox Code Playgroud) 我试图获取OS X上当前运行脚本的绝对路径.
我看到很多回复readlink -f $0.但是,由于OS X readlink与BSD相同,它只是不起作用(它适用于GNU的版本).
有没有开箱即用的解决方案?
作为我的脚本的参数,有一些文件路径.那些当然可以是相对的(或包含〜).但是对于我编写的函数,我需要绝对的路径,但是没有解析它们的符号链接.
这有什么功能吗?
我不确定这些路径是否重复.给定相对路径,如何使用shell脚本确定绝对路径?
例:
relative path: /x/y/../../a/b/z/../c/d
absolute path: /a/b/c/d
Run Code Online (Sandbox Code Playgroud) 我需要获得脚本的路径.我可以使用,pwd如果我已经在同一目录,我在网上搜索,我发现了这一点
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
但我不知道如何使用它.
在Bash中检查两条路径是否相等的最佳方法是什么?例如,给定目录结构
~/
Desktop/
Downloads/ (symlink to ~/Downloads)
Downloads/
photo.png
Run Code Online (Sandbox Code Playgroud)
并假设当前目录是主目录,以下所有内容都是等效的:
./ and ~
~/Desktop and /home/you/Desktop
./Downloads and ~/Desktop/Downloads
./Downloads/photo.png and ~/Downloads/photo.png
Run Code Online (Sandbox Code Playgroud)
有没有本地Bash方式来做到这一点?
xx@xx-PC ~/xampp/htdocs/sites
$ rmdir /s "yo-2"
rmdir: `/s': No such file or directory
rmdir: `yo-2': Directory not empty
xx@xx-PC ~/xampp/htdocs/sites
$ rmdir "yo-2"
rmdir: `yo-2': Directory not empty
Run Code Online (Sandbox Code Playgroud)
我似乎无法让rmdir在git bash中工作.它不是一个git repo,我已经尝试了上述内容.Mkdir按预期工作,为什么不这样做?