Обработка имен файлов, содержащих дефис, внутри скрипта

У меня мало файлов, которые были неправильно закодированы, во время извлечения имена файлов теперь становятся чем-то похожим на -a -b ,

Теперь я пытаюсь решить эту проблему:

convmv -f ENCODING -t utf8 --notest *

Но получил:

 Unknown option: a Unknown option: b 

Итак, каков правильный способ справиться с этим, в скрипте?

  • установить дату с пользовательского ввода в оболочку
  • Есть ли один слой, который позволяет мне создавать каталог и перемещаться в него одновременно?
  • Запись оболочки для интерактивных команд
  • Как печатать несколько файлов одновременно с помощью lpr?
  • Добавление нового каталога в PATH и символическую ссылку для каталога уже в PATH
  • Перечислить временные файлы по числовому значению, имеющему число больше заданного постоянно изменяющегося имени файла
  • Shell отключается при арифметическом выражении в цикле
  • Скрипт для подсчета файлов, соответствующих шаблону в подкаталогах
  • One Solution collect form web for “Обработка имен файлов, содержащих дефис, внутри скрипта”

    Потому что -a и -b начинаются с - команда думает, что это опции. Чтобы предотвратить эту палочку a -- перед списком имен файлов, подобных этому:

     convmv -f ENCODING -t utf8 --notest -- * 

    Таким образом, все после -- будет рассматриваться как регулярные аргументы, не пытаясь обработать их как параметры.

    Это часто встречается во многих командах unix.

    Linux и Unix - лучшая ОС в мире.