Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用bash-c和Globbing_Bash_Glob_Gnu Parallel - Fatal编程技术网

使用bash-c和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来

我在一个命令上运行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来读取字符串的参数,我是否遗漏了什么

编辑:
我应该补充一点,我需要从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'