Я пытаюсь использовать gap
версии 4.10 с xargs
следующим образом:
$ echo 1 | xargs -I '{}' gap -b <( echo 'Display("{}");' ) <( echo 'QUIT;')
который возвращает
{}
Однако следует
1
Следующие работы
$ gap -b <( echo 'Display("123");' ) <( echo 'QUIT;')
123
Если у вас нет gap
v4.10, вы можете заменить gap
на cat
и все равно увидеть мою проблему:
$ echo 1 | xargs -I '{}' cat <( echo 'Display("{}");' ) <( echo 'QUIT;')
Display("{}");
QUIT;
Как я могу добиться того, чтобы возвращаемое значение стало?
Display("1");
QUIT;
С моей точки зрения, это не имеет никакого отношения к пробелу, а является комбинацией xargs и подстановки процесса в оболочке. У меня zsh 5.7.1 и GNU bash 5.0.3. xargs — это GNU версии 4.8.0.
Примечания:
- Моя мотивация заключается в том, что я хочу запустить скрипт разрыва параллельно с разными параметрами из оболочки.
gap
версии 4.10 еще нет опции-c <expr>
(коммит), которая позволила бы мне чтобы избежать использования подстановки процессов. Однако на вычислительном сервере есть только гэп версии 4.10.0.