运行OSX 10.11.2,我需要rm -rf文件在下面的符号链接中指示的位置,用于atom,npm和node以及链接。我目前以用户身份登录,但终端处于su模式 我尝试了几个命令无济于事。我试着去那些地方,但不知道怎么做。
谢谢
答案 0 :(得分:0)
首先,rm
本身没有合适的选项来删除链接所指向的文件。这会使在单个命令中执行此操作变得很麻烦。脚本有助于:
#!/bin/sh
for name in "$@"
do
if [ -L "$name" ]
then
target=$(stat -f '%Y' "$name")
$0 "$target"
fi
[ -e "$name" ] && rm -rf "$name"
done
该脚本使用OSX stat
命令获取链接目标,并重复自身,删除目标(可能是另一个链接),并在删除目标后删除链接(或非链接,视具体情况而定)。
在评论中,OP澄清了不应删除链接本身。这可以通过改变测试来完成:
#!/bin/sh
for name in "$@"
do
if [ -L "$name" ]
then
target=$(stat -f '%Y' "$name")
$0 "$target"
fi
[ -e "$name" ] && [ ! -L "$name" ] && rm -rf "$name"
done