LINUX.ORG.RU

cd выполни куда-то из $HOME, тогда будет нормально работать — каждый день использую 2 конструкцию (только без судо, у меня же su -)

anonymous
()

Перед запуском команды shell производит замену некоторых специальных символов. В данном случае ~ заменится на путь к домашнему каталогу текущего пользователя, а * заменится на список имён нескрытых файлов в текущем каталоге.

Т.е. предположим, мы запускаем команду от пользователя test, при этом текущий каталог /home/test/Desktop и в нём есть 4 файла: file1, file2, file3, .DS_Store

test@localhost /home/test/Desktop $ rm -r ~ # аналогично
test@localhost /home/test/Desktop $ rm -r /home/test

test@localhost /home/test/Desktop $ rm -r * # аналогично
test@localhost /home/test/Desktop $ rm -r file1 file2 file3

Первая команда удалит каталог /home/test.

Вторая команда удалит 3 файла из каталога /home/test/Desktop (скрытый файл останется).

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

А у меня, в общем, лежала директория с названием ~ в домашней папке, и я решил её удалить. Угадай, что произошло.

letni
() автор топика
Ответ на: комментарий от letni

ну может хоть теперь ты научишься экранированию и заключать имена файлов в кавычки

anonymous
()
Ответ на: комментарий от letni

Не уверен, что работает на всех версиях баша.

Deleted
()
Ответ на: комментарий от anonymous

Действительно, факап! Спасибо!

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.