我试图在下面的脚本中使用并行
#!/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/短暂$i &“命令。
有什么帮助吗?
谢谢
发布于 2015-04-03 10:01:00
做一个函数。就这么说吧。
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[@]}"https://stackoverflow.com/questions/29417307
复制相似问题