mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-12-23 05:07:54 +00:00
125 lines
5 KiB
Plaintext
125 lines
5 KiB
Plaintext
echo '### --hostgroup force ncpu'
|
|
### --hostgroup force ncpu
|
|
parallel --delay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.3{} ::: {1..8} | sort
|
|
parallel
|
|
parallel
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
echo '### --hostgroup two group arg'
|
|
### --hostgroup two group arg
|
|
parallel -k --sshdelay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.3{} ::: {1..8}@g1+g2 | sort
|
|
parallel
|
|
parallel
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
echo '### --hostgroup one group arg'
|
|
### --hostgroup one group arg
|
|
parallel --delay 0.1 --hgrp -S @g1/1/parallel@lo -S @g2/3/lo whoami\;sleep 0.2{} ::: {1..8}@g2
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
echo '### --hostgroup multiple group arg + unused group'
|
|
### --hostgroup multiple group arg + unused group
|
|
parallel --delay 0.1 --hgrp -S @g1/1/parallel@lo -S @g1/3/lo -S @g3/100/tcsh@lo whoami\;sleep 0.4{} ::: {1..8}@g1+g2 | sort
|
|
parallel
|
|
parallel
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
tange
|
|
echo '### --hostgroup two groups @'
|
|
### --hostgroup two groups @
|
|
parallel -k --hgrp -S @g1/parallel@lo -S @g2/lo --tag whoami\;echo ::: parallel@g1 tange@g2
|
|
parallel parallel
|
|
parallel parallel
|
|
tange tange
|
|
tange tange
|
|
echo '### --hostgroup'
|
|
### --hostgroup
|
|
parallel -k --hostgroup -S @grp1/lo echo ::: no_group explicit_group@grp1 implicit_group@lo
|
|
no_group
|
|
explicit_group
|
|
implicit_group
|
|
echo '### --hostgroup --sshlogin with @'
|
|
### --hostgroup --sshlogin with @
|
|
parallel -k --hostgroups -S parallel@lo echo ::: no_group implicit_group@parallel@lo
|
|
no_group
|
|
implicit_group
|
|
echo '### --hostgroup -S @group'
|
|
### --hostgroup -S @group
|
|
parallel -S @g1/ -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
|
tange
|
|
tange
|
|
tange
|
|
tcsh
|
|
tcsh
|
|
tcsh
|
|
echo '### --hostgroup -S @group1 -Sgrp2'
|
|
### --hostgroup -S @group1 -Sgrp2
|
|
parallel -S @g1/ -S @g2 -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
|
parallel
|
|
parallel
|
|
tange
|
|
tange
|
|
tcsh
|
|
tcsh
|
|
echo '### --hostgroup -S @group1+grp2'
|
|
### --hostgroup -S @group1+grp2
|
|
parallel -S @g1+g2 -S @g1/1/tcsh@lo -S @g1/1/localhost -S @g2/1/parallel@lo whoami\;true ::: {1..6} | sort
|
|
parallel
|
|
parallel
|
|
tange
|
|
tange
|
|
tcsh
|
|
tcsh
|
|
echo '### trailing space in sshlogin'
|
|
### trailing space in sshlogin
|
|
echo 'sshlogin trailing space' | parallel --sshlogin "ssh -l parallel localhost " echo
|
|
sshlogin trailing space
|
|
echo '### Special char file and dir transfer return and cleanup'
|
|
### Special char file and dir transfer return and cleanup
|
|
cd /tmp; mkdir -p d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; echo local > d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; ssh parallel@lo rm -rf d'*'/; mytouch() { cat d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`" > d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; echo remote OK >> d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; }; export -f mytouch; parallel --env mytouch -Sparallel@lo --transfer --return {=s:/f:/g:=} mytouch ::: d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/f"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"; cat d"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"/g"`perl -e 'print pack("c*",1..9,11..46,48..255)'`"
|
|
local
|
|
remote OK
|
|
echo '### Uniq {=perlexpr=} in return - not used in command'
|
|
### Uniq {=perlexpr=} in return - not used in command
|
|
cd /tmp; rm -f /tmp/parallel_perlexpr.2Parallel_PerlexPr; echo local > parallel_perlexpr; parallel -Sparallel@lo --trc {=s/pr/pr.2/=}{=s/p/P/g=} echo remote OK '>' {}.2{=s/p/P/g=} ::: parallel_perlexpr; cat /tmp/parallel_perlexpr.2Parallel_PerlexPr; rm -f /tmp/parallel_perlexpr.2Parallel_PerlexPr /tmp/parallel_perlexpr
|
|
remote OK
|
|
# Should be changed to --return '{=s:/f:/g:=}' and tested with csh - is error code kept?
|
|
echo '### functions and --nice'
|
|
### functions and --nice
|
|
myfunc() { echo OK $*; }; export -f myfunc; parallel --nice 10 --env myfunc -S parallel@lo myfunc ::: func
|
|
OK func
|
|
echo '### bug #45906: {= in header =}'
|
|
### bug #45906: {= in header =}
|
|
rm -f returnfile45906; parallel --rpl '{G} $_=lc($_)' -S parallel@lo --return {G} --cleanup echo {G} '>' {G} ::: RETURNFILE45906; ls returnfile45906
|
|
returnfile45906
|
|
echo '### bug #45907: --header : + --return {header}'
|
|
### bug #45907: --header : + --return {header}
|
|
rm returnfile45907; ppar --header : -S parallel@lo --return {G} --cleanup echo {G} '>' {G} ::: G returnfile45907; ls returnfile45907
|
|
returnfile45907
|
|
echo "### bug #47608: parallel --nonall -S lo 'echo ::: ' blocks"
|
|
### bug #47608: parallel --nonall -S lo 'echo ::: ' blocks
|
|
parallel --nonall -S lo 'echo ::: '
|
|
:::
|
|
echo '### exported function to csh but with PARALLEL_SHELL=bash'
|
|
### exported function to csh but with PARALLEL_SHELL=bash
|
|
doit() { echo "$1"; }; export -f doit; stdout parallel --env doit -S csh@lo doit ::: not_OK; PARALLEL_SHELL=bash parallel --env doit -S csh@lo doit ::: OK
|
|
CSH/TCSH DO NOT SUPPORT newlines IN VARIABLES/FUNCTIONS. Unset doit
|
|
OK
|