我有以下内容:
read -p 'Delete old symlinks? y/n: ' prompt
if [ $prompt == [yY] ]
then
current_dir=$(pwd)
script_dir=$(dirname $0)
if [ $script_dir = '.' ]
then
script_dir="$current_dir"
fi
for sym in {find $PATH -type l -xtype d -lname "~"}
do
rm $sym
echo "Removed: $sym"
done
fi
我想要达到的目标如下:
- 如果提示等于 y(是)然后:找到
~
(主目录)中的所有符号链接并对它们执行 for 循环,这将删除它们并输出它删除的那个。
虽然现在它不执行删除部分,但其余部分工作正常。我没有包括有效的部分,它只是一堆ln -s
.
我在 Mac OS X Mountain Lion (10.8.2) 中,使用 Zsh 作为 shell,这在一个.sh
文件中。
我遇到的问题是什么都没有发生,所以它只是说:
ln: /Users/eduan/.vim/vim: File exists
ln: /Users/eduan/.vimrc: File exists
ln: /Users/eduan/.gvimrc: File exists
Done...
等等
非常感谢您提供的任何帮助!
编辑:
我现在有以下内容:
read -p 'Delete old symlinks? y/n: ' prompt
if [ $prompt == [yY] ]
then
find ~ -type l | while read line
do
rm -v "$line"
done
fi