Debería intentar usar --dryrun
cuando esté confundido por lo que ejecuta GNU Parallel:
$ parallel --dryrun ::::./a.sh./a.sh
#!/bin/bash #!/bin/bash
#!/bin/bash
#!/bin/bash curl http://127.0.0.1:81/a.php
#!/bin/bash
curl http://127.0.0.1:81/a.php
curl http://127.0.0.1:81/a.php #!/bin/bash
curl http://127.0.0.1:81/a.php
curl http://127.0.0.1:81/a.php curl http://127.0.0.1:81/a.php
Esto claramente no es lo que pretendías. ¿Entonces qué está pasando?
Si analiza la salida, verá que cada línea del primer archivo se combina con cada línea del segundo archivo. Es aún más obvio con:
file-b:
1
2
3
$ parallel --dryrun :::: b b
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
El error está en ::::
. ::::
hace que GNU Parallel lea el contenido del archivo como argumentos. Y dado que diste 2 archivos, hace que el producto cruzado -de esos.
Lo que querías era:::
:
$ parallel --dryrun :::./a.sh./a.sh
./a.sh
./a.sh