我正在尝试重命名和tar目录中的文件。我有一个在linux上使用的脚本,但是readlink -f不能在OSX上工作。
有没有其他方法可以代替我在下面做的事情呢?
pathname=$(readlink -f $dirname)
cd $pathname/..
tar -zcf $dirname.tgz $pathname
rm -rf $pathname发布于 2020-07-01 01:35:44
您可以使用解析所有符号链接的realpath
注意:你不应该在没有测试成功的情况下使用cd,否则你的脚本可能会在意外的文件夹上运行。rm -rf也是有害的,你可以使用find来删除文件夹。我猜您不希望在tar磁盘空间不足或由于其他原因而不成功时删除文件夹
pathname="$(realpath "$dirname")"
cd "${pathname%/*}" || exit 2
tar -zcf "${dirname##*/}.tgz" "${pathname##*/}" || exit 2
find "$pathname" -delete使用echo检查字符串操作,找出它的作用
echo "${pathname%/*}"
echo "${pathname##*/}"https://stackoverflow.com/questions/62659025
复制相似问题