Переименуйте файлы с пробелами в оболочке BusyBox

'.' в конце ls вывод полномочий говорит, что существуют расширенные данные некоторого вида. chattr(1) дает список атрибутов для расширения? файловые системы, lsattr(1) перечисляет текущие. Также проверьте tha ACL на файл (getfacl(1)). Политика безопасности (как SELinux) могла также запретить некоторые операции на файле.

5
17.06.2014, 22:04
1 ответ

Как вы добавили, команда mv представляет собой скрипт в /bin/mv с этой последней строкой:

/bin/busybox mv $@

В этой строке отсутствуют кавычки вокруг $@:

/bin/busybox mv "$@"

$@ обозначает список параметров, заданных скрипту. Цитирование этой переменной имеет особое значение, что при расширении каждый параметр будет цитироваться отдельно. Это справедливо как минимум для bash, dash, а также для busybox.

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

3
27.01.2020, 20:41

Теги

Похожие вопросы