Я пытался использовать команду различий для сравнения списков каталогов, который прекрасно работает в Баш:разница на Баш и пеплом круглые скобки
diff <(cd alpha ; find . -type f) <(cd beta; find . -type f)
Однако на золой (встроенное устройство, где никакая другая оболочка не доступна) I получить
-ash: syntax error: unexpected "("
есть ли разница в отношении чтения входного оператора <
или круглых скобок (
)
?
Да. 'ash' не поддерживает замещение процесса, которое делает' bash'. Вот что такое синтаксис '<(command)'. –
Кроме того, это не всегда будет работать надежно, так или иначе. Вам, очевидно, повезло, что он до сих пор. 'find' не гарантированно возвращает список файлов в любом конкретном порядке, и порядок может измениться по мере добавления/удаления файлов/изменения/etc. Вы можете решить это, добавив '| sort' после каждого 'find', хотя, я думаю ... – twalberg