【发布时间】:2021-05-14 13:54:56
【问题描述】:
我尝试使用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;
在我看来,这与gap无关,而是shell中xargs和process substitution的组合。我有zsh 5.7.1 和GNU bash 5.0.3 可用。 xargs 是GNU version 4.8.0。
注意事项:
- 我的动机是我想在 shell 中使用不同的参数并行运行一个 gap 脚本。
-
gap4.10 版还没有-c <expr>(commit) 选项,它可以让我避免使用进程替换。但是,在计算服务器上,只有 4.10.0 版本的差距。
【问题讨论】:
标签: shell xargs gap-system