使用Shell脚本删除派生数据

4

我正在尝试创建一个sh脚本来删除Xcode的deriveddata文件夹中的内容。我写了下面这段代码,它可以进入指定的文件夹并列出其中的所有内容,但是当我删除#并尝试删除内容时,就会出现以下错误:

"**line 1: =~/Library/Developer/Xcode/DerivedData/: No such file or directory
Desktop     Downloads   Movies      Pictures    clitools.dmg
Documents   Library     Music       Public
override r--r--r--  dajkaferenc/staff for Desktop/Christmas Game update/.git/objects/00/8b8026f772525ccff6c3361ecc6f3eb43d0d82?** "



$DIR="~/Library/Developer/Xcode/DerivedData/"
cd $DIR
ls
#rm -r -- "$DIR"*
2个回答

6
  • 您不能将~放在引号内,Shell不会展开它。
  • 变量赋值时变量名前没有$

尝试这样做:

DIR=~/Library/Developer/Xcode/DerivedData/
cd $DIR
ls
rm -r -- "$DIR"*

3
DIR=~/Library/Developer/Xcode/DerivedData/
cd "$DIR"
ls
rm -r ./*

在赋值时不需要加$,只有在读取变量时才需要。 包含空格或其他特殊符号的变量应该加上引号。 由于您已经在正确的文件夹中,所以不需要使用变量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接