У меня есть команда, которую я пытаюсь выполнить в оболочке 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
.