Я пытаюсь связать несколько команд с помощью GNU-параллели. Эти команды включают переменные среды, определенные ранее. Например, рассмотрим приведенную ниже команду, которая получает список файлов *.c
, создает байт-код llvm с файлами clang
до .bc
и оптимизирует его в файлы .rbc
с помощью opt
.
parallel --halt now,fail=1 'clang -Xclang -disable-O0-optnone -S -c -emit-llvm {} -o {.}.bc ; opt -S -mem2reg {.}.bc -o {.}.rbc ' ::: "${source_files[@]}"
Программа выше работает просто отлично, но если я изменю clang
на переменную окружения, команда перестанет работать.
parallel --halt now,fail=1 '$COMPILER -Xclang ... ' ::: "${source_files[@]}"