In einem Bash-Skript habe ich eine Zeichenfolge mit einem Glob-Zeichen, die sich auf eine Reihe von Skriptpfaden / -namen ausweiten würde, die ich in Bash und parallel verarbeiten muss.
Wie können die resultierenden Skriptnamen parallel zur Ausführung übergeben werden?
Ich habe folgendes versucht, wo $string="./script*.sh"
(echo $string) | parallel
($string) | parallel
ohne Erfolg.
Ich habe sogar versucht, es in ein Array zu lesen und dann eine Folge von Echos zu konstruieren, aber das half nicht
read -a scripts <<< "$string"
(${script[*]) | parallel
Antworten:
1 für die Antwort № 1Versuche dies:
string=./script*.sh
# expand * here
echo $string | tr " " "n" | parallel
0 für die Antwort № 2
ODER probiere es aus:
parallel ::: ./script*.sh
ODER
ls | grep script | parallel
0 für die Antwort № 3
(echo $string) | parallel eval