Eu tenho um script bash que gostaria de executar em paralelo. Para isso, acrescentei uma opção muito simples de silêncio ou silêncio:
#!/bin/bash
if [ "$1" == "-s" ] ; then
silent=1
name=$2
else
silent=0
name=$1
fi
if [ $silent == 0 ] ; then
echo some things
fi
while IFS='' read -r line || [[ -n "$line" ]]; do
do some things with $line
if [ $silent == 0 ] ; then
echo some other things
fi
done < "$name"
se eu executá-lo uma vez, funciona bem:
mycommand -s file.txt
Mas se eu tentar executar várias instâncias em paralelo:
parallel --eta mycommand -s {} ::: *.txt
Eu recebi este erro:
-s: file or directory doesn't exists
Então, o que estou fazendo errado
Tags bash gnu-parallel