Удалите папку с тем же именем, что и переменная среды

Я возился с файлом свойств log4j и случайно создал папку со следующим текстом ${foo} но у меня также есть переменная среды с именем foo которая указывает на папку, поэтому, если я сделаю rm -rf "${foo}" он удаляет папку $foo , указывающую на, а не на папку ${foo} . Как я могу указать, чтобы удалить папку в моем текущем каталоге, используя относительный путь, а не удалять папку, на которую указывает переменная среды?

Вот макет, чтобы лучше понять

$foo = /home/user/bar

${foo} = /home/user/${foo}

One Solution collect form web for “Удалите папку с тем же именем, что и переменная среды”

Строковая интерполяция вызывает это. Существует несколько способов выборочного предотвращения этого. У хакеров хакеров bash есть хорошие примеры , хотя особенности могут отличаться, если вы на самом деле не используете bash.

Короче говоря, вы можете предотвратить интерполяцию с одинарными кавычками или вы можете избежать символов.

 [me:~/work]$ export foo=bar [me:~/work]$ echo $foo bar [me:~/work]$ echo "\${foo} is set to ${foo}" ${foo} is set to bar 
  • Как восстановить файлы, которые я удалил сейчас, запустив rm *?
  • Почему я все еще запрашиваю пароль после добавления исключения в файл / etc / sudoers?
  • Что эквивалентно rm `find lib / -name * .swp` без find?
  • Поведение rm - как предотвратить удаление содержимого установленных точек
  • удалять старые файлы журналов, кроме последнего (с буквенно-цифровой сортировкой)
  • rm -rf: невозможно удалить `/ opt / jetty ': каталог не пуст
  • Как прикоснуться, rm и коснуться в Unix?
  • Как удалить файл с именем «--append»?
  • Как удалить соответствующие файлы из каталога A в каталоге B в командной строке?
  • Удалить каталоги, содержащие определенный файл
  • Настроить команду rm
  • Linux и Unix - лучшая ОС в мире.