GNU Parallel 面临静默退出和无效选项错误

Posted

技术标签:

【中文标题】GNU Parallel 面临静默退出和无效选项错误【英文标题】:GNU Parallel facing silent exit and invalid option error 【发布时间】:2019-09-04 07:55:39 【问题描述】:

我尝试从以下位置执行完整安装:http://git.savannah.gnu.org/cgit/parallel.git/tree/README

安装成功。它在 Mac OS 上安装时运行良好,但在 Amazon Linux (RHEL64) 上我面临以下问题:

    仅在运行parallel 时,命令会静默退出。

    dev-dsk % parallel
    dev-dsk %
    

    在运行 any 命令时,即使 parallel --version 也会出现以下错误:

    dev-dsk % parallel --version                                               
    parallel: invalid option -- '-'
    parallel [OPTIONS] command -- arguments
        for each argument, run command with argument, in parallel
    parallel [OPTIONS] -- commands
        run specified commands in parallel
    

    运行parallel --gnu时出现同样的错误。

IMO,与 NO 冲突与 Tollef 的 并行 moreutils 包没有冲突,因为 moreutils 不会在我的机器上退出。

请帮助我了解如何使 GNU Parallel 在 RHEL64 上工作?

【问题讨论】:

那么whereis parallelhash parallel? file $(hash parallel) ? stat $(hash parallel)? 它是 GNU 并行:gnu.org/software/parallel 那么问题出在哪里?你的问题是什么?显然不是。或者它是一个旧版本。或者你犯了一个错误。或者 PATH 设置为奇怪的东西。或者 parallel 是一个内置的 shell。或者一个函数。或者别名。 man parallel 证明你有 man 并行。不可执行。并不是说您正在运行该可执行文件。我不相信这能证明什么。 whereis parallel 应该为您提供并行可执行文件的完整路径。然后你可以cmp .. .. 与你在编译目录中编译的那个可执行文件,看看它是一样的。例如。 @Kamil:要求是让它发挥作用。我刚刚进行了安装,没有更改路径等。使用相同的安装在我的 MAC 上运行良好。但不能在我的 RHEL64 机器上工作。运行whereis parallel 帮助我找到了一个可行的解决方案。谢谢! 你得到的输出正是 Tollef 的parallel 给出的输出。所以在你的 $PATH 某处你已经安装了。 【参考方案1】:

不完全确定为什么它不起作用。在我的系统中,系统路径中只有一个名为 parallel 的可执行文件,但仍然没有被检测到。

但无论如何,我能够将其修复如下

    运行whereis parallel。这给出了存在名为 parallel 的可执行文件的所有路径。就我而言,只有一条路径/usr/local/bin/parallel。使用这条路径运行就可以了。 您可以在~/.bashrc~/.zshrc 文件中为此添加别名,例如alias parallel='/usr/local/bin/parallel'

现在parallel 的作用就像魅力一样。

dev-dsk % parallel --version         
GNU parallel 20190322
Copyright (C) 2007-2019 Ole Tange and Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
GNU parallel comes with no warranty.

【讨论】:

以上是关于GNU Parallel 面临静默退出和无效选项错误的主要内容,如果未能解决你的问题,请参考以下文章

GNU并行双击选项不起作用

从 GNU 并行获取退出状态值

NSIS 构建不会在 Windows 上安装 Electron 应用程序。安装程序静默退出并产生 1620 错​​误

GNU Parallel:如何从gnu并行管道接收stdin,就像它来自文件一样?

sh 使用cytominer_scripts和GNU parallel并行处理平板

gnu parallel + sed 编辑 csv 标题和内容