удалить производные данные с помощью сценария оболочки

76
11

Я пытаюсь создать sh для удаления содержимого папки Xdode с производными данными. Я написал это, он попадает в нужную папку и перечисляет контент, но когда я удаляю # и пытаюсь удалить его, это говорит

"**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"*

спросил(а) 2021-01-19T14:11:07+03:00 2 месяца, 3 недели назад
1
Решение
98

    Вы не можете помещать ~ внутри кавычек. Shell не расширяет это. У переменной присваивания нет $ перед именем переменной.

Попробуй это:

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

ответил(а) 2021-01-19T14:11:07+03:00 2 месяца, 3 недели назад
75

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

Нет $ когда вы назначаете значение, только когда вы его читаете. Перечисления, которые могут содержать пробелы или другие символы со специальным значением, должны быть указаны. Вы уже находитесь в правильной папке, поэтому вам не нужна переменная.

ответил(а) 2021-01-19T14:11:07+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема