Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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
Parallel processing 如何将列表传递到并行_Parallel Processing_Gnu Parallel - Fatal编程技术网

Parallel processing 如何将列表传递到并行

Parallel processing 如何将列表传递到并行,parallel-processing,gnu-parallel,Parallel Processing,Gnu Parallel,我试图在下面的脚本中使用parallel #!/bin/bash declare -a ephemeral_list for mount in $(lsblk | grep ^x | awk '{ print $1 }') do if ! mount | grep $mount >/dev/null; then ephemeral_list+=($mount) fi done for i in "${!ephemeral_list[@]}" do print

我试图在下面的脚本中使用parallel

#!/bin/bash

declare -a ephemeral_list
for mount in $(lsblk | grep ^x | awk '{ print $1 }')
do
   if ! mount | grep $mount >/dev/null; then
      ephemeral_list+=($mount)
   fi
done

for i in "${!ephemeral_list[@]}"
do
  printf "%s\t%s\n" "$i" "${ephemeral_list[$i]}"
  [ -d /mnt/ephemeral$i ] || mkdir /mnt/ephemeral$i
  mkfs.ext4 -E nodiscard /dev/${ephemeral_list[$i]} &&  mount /dev/${ephemeral_list[$i]} /mnt/ephemeral$i &
done 
我想在这里的每个cpu上运行“mkfs.ext4-E nodiscard/dev/${ephemeral_list[$I]}&&mount/dev/${ephemeral_list[$I]}/mnt/ephemeral$I&”命令

有什么帮助吗


谢谢

制作一个函数。就这么说吧

mymkfs() {
  printf "%s\t%s\n" "$1" "$2"
  [ -d /mnt/ephemeral$1 ] || mkdir /mnt/ephemeral$1
  mkfs.ext4 -E nodiscard /dev/"$2" &&  mount /dev/"$2" /mnt/ephemeral$1
}
export -f mymkfs

parallel mymkfs {#} {} ::: "${ephemeral_list[@]}"