У меня есть команда, которую я пытаюсь выполнить в оболочке Bourne для Solaris 9.
find ${DATADIR} -name "check_*" -type f -exec sh -c '$0 | ${PARSEDATA}' {} \; >> ${TMP_1}
Моя проблема в том, что переменная ${PARSEDATA} не будет работать должным образом, я попытался использовать двойные кавычки вокруг нее, тогда проблема в том, что $0 - это имя скрипта, выполняющего этот код, а не файл, расположенный с помощью команды find .
Любые предложения по решению этой, вероятно, легкой проблемы, очень полезны.
Заранее спасибо.
Обновление: $0 - это имя скрипта, расположенного с помощью команды find , переменная для ${PARSEDATA} - это фильтр, расположенный где-то в системе, который изменяет выходные данные каждого найденного скрипта. Однако проблема в том, что я не могу получить и $0 и ${PARSEDATA} для правильного расширения, либо $0 расширяется нормально с помощью одинарных кавычек, либо с использованием двойных qoutes ${PARSEDATA} расширяется нормально, но тогда $0 становится именем оригинальный скрипт, который запускает эту команду find .
