使用bash-c和Globbing
我在一个命令上运行gnu parallel,该命令在从bash shell运行时工作正常,但在parallel使用-c标志与bash一起执行时返回错误。我想这与我正在使用的特殊globbing表达式有关使用bash-c和Globbing,bash,glob,gnu-parallel,Bash,Glob,Gnu Parallel,我在一个命令上运行gnu parallel,该命令在从bash shell运行时工作正常,但在parallel使用-c标志与bash一起执行时返回错误。我想这与我正在使用的特殊globbing表达式有关 ls !(*site*).mol2 这将成功返回 启用标志后,命令失败 /bin/bash -c 'ls !(*site*).mol2' /bin/bash: -c: line 0: syntax error near unexpected token `(' 手册只指定-c调用bash来
ls !(*site*).mol2
这将成功返回
启用标志后,命令失败
/bin/bash -c 'ls !(*site*).mol2'
/bin/bash: -c: line 0: syntax error near unexpected token `('
手册只指定-c调用bash来读取字符串的参数,我是否遗漏了什么
编辑:
我应该补充一点,我需要从gnu并行字符串运行这个命令,因此最终结果命令必须可以由/bin/bash-c“Some command”运行。您应该尝试以下代码:
bash <<EOF
shopt -s extglob
ls !(*site*).mol2
EOF
根据OP的需要,您可能需要在此处使用一个单引号文档分隔符
bash,但我将为其添加一些内容that@sputnick这正是我想要的,但我不知道如何向Parallel的默认调用命令/bin/bash-c“”添加参数
bash -O extglob -c 'ls !(*site*).mol2'