testsuite: Many small changes due to production OS upgrade. No radical changes.

This commit is contained in:
Ole Tange 2016-08-03 23:45:13 +02:00
parent 769d2706f2
commit ed76fe2979
37 changed files with 625 additions and 619 deletions

View file

@ -1,26 +1,29 @@
#!/bin/bash
mysqlrootpass=${mysqlrootpass:+FoOo}
# The testsuite depends on this:
sudo aptitude install imagemagick expect autossh
# DEBIAN package
sudo aptitude install dpkg-dev build-essential debhelper
# SHEBANG TOOLS
sudo aptitude install gnuplot octave ruby r-base-core
# SQL TOOLS
sudo aptitude install libdbd-pg-perl libdbd-sqlite3-perl
# Compression
sudo aptitude install pxz pixz
mysqlrootpass=${mysqlrootpass:-b+Ydjq4ejT4E}
# To configure zsh
echo Configure zsh and exit
zsh
INSTALL="echo sudo aptitude -y install"
# The testsuite depends on this:
$INSTALL imagemagick expect autossh sshpass jq libpod-simple-perl pod2pdf
# DEBIAN package
$INSTALL dpkg-dev build-essential debhelper
# SHEBANG TOOLS
$INSTALL gnuplot octave ruby r-base-core
# SQL TOOLS
$INSTALL libdbd-pg-perl libdbd-sqlite3-perl libdbd-csv-perl libdbd-mysql-perl rlwrap
# Compression
$INSTALL pxz pixz
# DATABASES
sudo aptitude install postgresql mysql-server
$INSTALL postgresql mysql-server sqlite
echo '# Create PostgreSQL'
sudo su - postgres -c 'createdb '`whoami`
sudo su - postgres -c 'createuser '`whoami`
@ -32,11 +35,12 @@ sql mysql://root:"$mysqlrootpass"@/mysql "DROP DATABASE `whoami`;DROP USER '`who
sql mysql://root:"$mysqlrootpass"@/mysql "CREATE DATABASE `whoami`;CREATE USER '`whoami`'@'localhost' IDENTIFIED BY '`whoami`'; GRANT ALL ON `whoami`.* TO '`whoami`'@'localhost';"
# SHELLS
sudo aptitude install ash csh fdclone fish fizsh ksh mksh pdksh posh rush sash tcsh yash zsh
$INSTALL ash csh fdclone fish fizsh ksh mksh pdksh posh rc rush sash tcsh yash zsh
SSHPASS=`goodpasswd`
export SSHPASS
shells="bash sh csh ash tcsh zsh ksh fish fizsh mksh pdksh posh rc sash yash nopathbash nopathcsh"
#shells="bash sh csh ash tcsh zsh ksh fish fizsh mksh pdksh posh rc sash yash nopathbash nopathcsh"
shells="bash sh csh ash tcsh zsh ksh fish fizsh mksh posh rc sash yash nopathbash nopathcsh"
create_shell_user() {
shell="$1"
sudo deluser $shell && sudo mv /home/$shell /tmp/$shell.$RANDOM
@ -47,36 +51,40 @@ create_shell_user() {
echo "ssh-keyscan" &&
ssh $shell@lo 'ssh-keyscan -t rsa lo >> .ssh/known_hosts' &&
ssh $shell@lo 'ssh-keyscan -t rsa server >> .ssh/known_hosts' &&
echo "chsh" &&
sudo chsh -s $(which $shell || which ${shell#"nopath"}) $shell &&
echo Do chsh -s $(which $shell || which ${shell#"nopath"}) $shell &&
(echo $shell | grep parallel ||
sudo chsh -s $(which $shell || which ${shell#"nopath"}) $shell) &&
echo | ssh -t $shell@lo ssh-keygen &&
echo Do ssh $shell@lo 'cat .ssh/id_rsa.pub >> .ssh/authorized_keys' &&
ssh $shell@lo 'cat .ssh/id_rsa.pub >> .ssh/authorized_keys' &&
ssh $shell@lo cat .ssh/id_rsa.pub | ssh parallel@lo 'cat >> .ssh/authorized_keys' &&
ssh $shell@lo env_parallel --install
echo Do env_parallel --install &&
ssh $shell@lo env_parallel --install &&
echo OK Created $shell &&
echo
}
export -f create_shell_user
parallel -u --timeout 15 --retries 2 --tag -j1 create_shell_user ::: $shells
. `which env_parallel.bash`
shellsplus="parallel $shells"
parallel -u --timeout 15 --retries 2 --tag -j1 create_shell_user ::: $shellsplus
# sh fails if not run by itself
parallel -u --timeout 15 --retries 2 --tag -j1 create_shell_user ::: sh
parallel -j10 ssh {}@lo ssh {}@lo echo {} OK ::: $shells
parallel -j10 --tag ssh {}@lo ssh {}@lo echo {} OK ::: $shells
(
ssh parallel@lo 'ssh-keyscan -t rsa lo >> .ssh/known_hosts'
ssh parallel@lo 'cat .ssh/id_rsa.pub >> .ssh/authorized_keys'
)
ssh_copy_id() {
from="$1"
to="$2"
ssh $from cat .ssh/id_rsa.pub | ssh $to 'cat >> .ssh/authorized_keys'
}
export -f ssh_copy_id
shellsplus="parallel $shells"
parallel --bar -j200% --timeout 3 --retries 10 --tag ssh_copy_id {1}@lo {2}@lo ::: $shellsplus ::: $shellsplus
parallel -j10 --retries 3 --tag ssh {1}@lo ssh {2}@lo echo OK ::: $shellsplus ::: $shellsplus
parallel --bar -j10 --timeout 3 --retries 10 --tag ssh_copy_id {1}@lo {2}@lo ::: $shellsplus ::: $shellsplus
parallel -j10 --timeout 3 --retries 10 --tag ssh {1}@lo ssh {2}@lo echo OK ::: $shellsplus ::: $shellsplus
# change paths to no path
(
ssh nopathbash@lo 'echo >> .bashrc PATH=/bin:/usr/bin'
ssh nopathbash@lo 'echo > .bashrc PATH=/bin:/usr/bin'
ssh nopathbash@lo 'echo > .profile PATH=/bin:/usr/bin'
# Remove env_parallel from .profile
ssh nopathbash@lo 'perl -i.bak -pe s/.*env_parallel.*// .profile .bashrc'
ssh nopathcsh@lo 'echo >> .cshrc setenv PATH /bin:/usr/bin'
@ -87,18 +95,24 @@ parallel -j10 --retries 3 --tag ssh {1}@lo ssh {2}@lo echo OK ::: $shellsplus ::
ssh-copy-id localhost
# SHELLS: lsh-client against openssh server
sudo aptitude install lsh-client
$INSTALL lsh-client
cd
mkdir .lsh
lsh-make-seed -o ".lsh/yarrow-seed-file"
lsh --sloppy-host-authentication --capture-to ~/.lsh/host-acls lo echo Added host-auth
lsh -c aes256-ctr --sloppy-host-authentication --capture-to ~/.lsh/host-acls lo echo Added host-auth
lsh -c aes256-ctr --sloppy-host-authentication --capture-to ~/.lsh/host-acls localhost echo Added host-auth
lsh-keygen | lsh-writekey -c none
lsh-export-key --openssh < ~/.lsh/identity.pub | lsh localhost 'cat >>.ssh/authorized_keys'
lsh-export-key --openssh < ~/.lsh/identity.pub | ssh csh@localhost 'cat >>.ssh/authorized_keys'
lsh-export-key --openssh < ~/.lsh/identity.pub | lsh -c aes256-ctr lo 'cat >>.ssh/authorized_keys'
lsh-export-key --openssh < ~/.lsh/identity.pub | ssh csh@lo 'cat >>.ssh/authorized_keys'
parallel --record-env
sudo cp /usr/bin/tmux /usr/local/bin/tmux1.8
ssh freebsd7.t cat .ssh/id_rsa.pub | ssh parallel@localhost 'cat >>.ssh/authorized_keys'
echo Add:
echo HostkeyAlgorithms +ssh-dss
echo to .ssh/config if you get
echo no matching host key type found. Their offer: ssh-dss

View file

@ -3,6 +3,7 @@
# Argument can be substring of tests (such as 'local')
export LANG=C
unset LC_MONETARY
SHFILE=/tmp/unittest-parallel.sh
MAX_SEC_PER_TEST=900
export TIMEOUT=$MAX_SEC_PER_TEST
@ -48,7 +49,7 @@ mv testsuite.log log/testsuite.log.1
date
mkdir -p actual-results
ls -t tests-to-run/*${1}*.sh | egrep -v "${2}" |
stdout parallel --tty -tj1 run_test | tee testsuite.log
parallel --tty -tj1 run_test | tee testsuite.log
# If testsuite.log contains @@ then there is a diff
if grep -q '@@' testsuite.log ; then
false

View file

@ -16,6 +16,10 @@ export SMALLDISK
sudo chmod 777 /mnt/ram
) >/dev/null 2>/dev/null
stdsort() {
"$@" 2>&1 | sort;
}
export -f stdsort
# Test amount of parallelization
# parallel --shuf --jl /tmp/myjl -j1 'export JOBS={1};'bash tests-to-run/parallel-local-0.3s.sh ::: {1..16} ::: {1..5}
@ -133,7 +137,7 @@ echo '**'
testquote() { printf '"#&/\n()*=?'"'" | PARALLEL_SHELL=$1 parallel -0 echo; };
export -f testquote;
parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh pdksh posh rbash rc rzsh sash sh static-sh tcsh yash zsh
parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rc rzsh sash sh static-sh tcsh yash zsh
echo '**'
@ -165,7 +169,8 @@ echo '### bug #45998: --pipe to function broken'
myfunc() { echo $1; cat; };
export -f myfunc;
echo OK | parallel --pipe myfunc {#}
echo pipefunc OK | parallel --pipe myfunc {#};
echo pipefunc and more OK | parallel --pipe 'myfunc {#};echo and more OK'
echo '**'
@ -234,7 +239,7 @@ echo 'bug #47290: xargs: Warning: a NUL character occurred in the input'
echo '**'
echo '### Test --shellquote'
parallel --tag -q -k {} -c perl\ -e\ \'print\ pack\(\"c\*\",1..255\)\'\ \|\ parallel\ -0\ --shellquote ::: ash bash csh dash fish fizsh ksh ksh93 lksh mksh pdksh posh rzsh sash sh static-sh tcsh yash zsh csh tcsh
parallel --tag -q -k {} -c perl\ -e\ \'print\ pack\(\"c\*\",1..255\)\'\ \|\ parallel\ -0\ --shellquote ::: ash bash csh dash fish fizsh ksh ksh93 lksh mksh posh rzsh sash sh static-sh tcsh yash zsh csh tcsh
echo '**'
@ -305,12 +310,12 @@ echo '### test too long args'
echo '### Test -x'
(seq 1 10; echo 12345; seq 12 15) | stdout parallel -j1 -km -s 10 -x echo
(seq 1 10; echo 12345; seq 12 15) | stdout parallel -j1 -kX -s 10 -x echo
(seq 1 10; echo 12345; seq 12 15) | stdout xargs -s 10 -x echo
(seq 1 10; echo 1234; seq 12 15) | stdout parallel -j1 -km -s 10 -x echo
(seq 1 10; echo 1234; seq 12 15) | stdout parallel -j1 -kX -s 10 -x echo
(seq 1 10; echo 1234; seq 12 15) | stdout xargs -s 10 -x echo
(seq 1 10; echo 12345; seq 12 15) | stdsort parallel -j1 -km -s 10 -x echo
(seq 1 10; echo 12345; seq 12 15) | stdsort parallel -j1 -kX -s 10 -x echo
(seq 1 10; echo 12345; seq 12 15) | stdsort xargs -s 10 -x echo
(seq 1 10; echo 1234; seq 12 15) | stdsort parallel -j1 -km -s 10 -x echo
(seq 1 10; echo 1234; seq 12 15) | stdsort parallel -j1 -kX -s 10 -x echo
(seq 1 10; echo 1234; seq 12 15) | stdsort xargs -s 10 -x echo
echo '### Test -a and --arg-file: Read input from file instead of stdin'

View file

@ -8,6 +8,8 @@
TMP5G=${TMP5G:-/dev/shm}
export TMP5G
rm -f /tmp/*.{tmx,pac,arg,all,log,swp,loa,ssh,df,pip,tmb,chr,tms,par}
par_retries_unreachable() {
echo '### Test of --retries on unreachable host'
seq 2 | stdout parallel -k --retries 2 -v -S 4.3.2.1,: echo

View file

@ -39,8 +39,8 @@ par_memory_leak() {
}
export -f a_run
echo "### Test for memory leaks"
echo "Of 10 runs of 1 job at least one should be bigger than a 3000 job run"
small_max=$(seq 10 | parallel a_run 1 | jq -s max)
echo "Of 30 runs of 1 job at least one should be bigger than a 3000 job run"
small_max=$(seq 30 | parallel a_run 1 | jq -s max)
big=$(a_run 3000)
if [ $small_max -lt $big ] ; then
echo "Bad: Memleak likely."

View file

@ -111,8 +111,10 @@ _EOS
# Exporting a big variable should not fail
setenv A "`seq 1000`"
setenv PATH ${PATH}:/tmp
cp /usr/local/bin/env_parallel.*csh /tmp
cp /usr/local/bin/env_parallel* /tmp
source `which env_parallel.csh`
# --filter to see if $PATH with parallel is transferred
env_parallel --filter --env A,PATH -Slo echo '$PATH' ::: OK
# It fails due to csh word limitation: The perl bunzipper is too long
_EOS

View file

@ -23,8 +23,8 @@ echo 'bug #36707: --controlmaster eats jobs'
seq 2 | parallel -k --controlmaster --sshlogin localhost echo OK{}
echo '### --ssh lsh'
parallel --ssh lsh -S lo echo ::: OK
echo OK | parallel --ssh lsh --pipe -S csh@lo cat
parallel --ssh 'lsh -c aes256-ctr' -S lo echo ::: OK
echo OK | parallel --ssh 'lsh -c aes256-ctr' --pipe -S csh@lo cat
# Todo rsync/trc csh@lo
# Test gl. parallel med --ssh lsh: Hvilke fejler? brug dem. Også hvis de fejler

View file

@ -8,7 +8,12 @@ cd tmp
PARALLEL=-j8
export PARALLEL
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
stdsort() {
"$@" 2>&1 | sort;
}
export -f stdsort
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj200 -k --joblog /tmp/jl-`basename $0` -L1
echo '### -0 -n3 echo < files0.xi'
stdout xargs -0 -n3 echo < files0.xi
stdout parallel -k -0 -n3 echo < files0.xi
@ -22,8 +27,8 @@ echo '### -i -0 echo from \{\} to x{}y < items-0.xi'
stdout xargs -i -0 echo from \{\} to x{}y < items-0.xi
stdout parallel -k -i -0 echo from \{\} to x{}y < items-0.xi
echo '### -i -s26 -0 echo from \{\} to x{}y < items-0.xi'
stdout xargs -i -s26 -0 echo from \{\} to x{}y < items-0.xi
stdout parallel -k -i -s26 -0 echo from \{\} to x{}y < items-0.xi
stdsort xargs -i -s26 -0 echo from \{\} to x{}y < items-0.xi
stdsort parallel -k -i -s26 -0 echo from \{\} to x{}y < items-0.xi
echo '### -l -0 echo < ldata-0.xi'
stdout xargs -l -0 echo < ldata-0.xi
stdout parallel -l -k -0 echo < ldata-0.xi
@ -201,11 +206,11 @@ echo '### -L2 echo < ldata.xi'
stdout xargs -L2 echo < ldata.xi
stdout parallel -k -L2 echo < ldata.xi
echo '### echo < unmatched2.xi'
stdout xargs echo < unmatched2.xi
stdout parallel -k echo < unmatched2.xi
stdsort xargs echo < unmatched2.xi
stdsort parallel -k echo < unmatched2.xi
echo '### echo < unmatched.xi'
stdout xargs echo < unmatched.xi
stdout parallel -k echo < unmatched.xi
stdsort xargs echo < unmatched.xi
stdsort parallel -k echo < unmatched.xi
echo '### -n2 -x echo < unmatched.xi'
stdout xargs -n2 -x echo < unmatched.xi
stdout parallel -k -n2 -x echo < unmatched.xi
@ -225,8 +230,8 @@ echo '### -i echo from \{\} to x{}y < items.xi'
stdout xargs -i echo from \{\} to x{}y < items.xi
stdout parallel -k -i echo from \{\} to x{}y < items.xi
echo '### -i -s26 echo from \{\} to x{}y < items.xi'
stdout xargs -i -s26 echo from \{\} to x{}y < items.xi
stdout parallel -k -i -s26 echo from \{\} to x{}y < items.xi
stdsort xargs -i -s26 echo from \{\} to x{}y < items.xi
stdsort parallel -k -i -s26 echo from \{\} to x{}y < items.xi
echo '### -i__ echo FIRST __ IS OK < quotes.xi'
stdout xargs -i__ echo FIRST __ IS OK < quotes.xi
stdout parallel -k -i__ echo FIRST __ IS OK < quotes.xi

View file

@ -74,17 +74,17 @@ echo '### bug #42892: parallel -a nonexiting --pipepart'
echo '### bug #42913: Dont use $SHELL but the shell currently running'
echo '## Unknown shell => $SHELL (bash)'
parallel -kj1 "cp \`which {}\` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;"
::: ash bash csh dash fish fizsh ksh ksh93 mksh pdksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh;
::: ash bash csh dash fish fizsh ksh ksh93 mksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh;
rm -f /tmp/SHELL /tmp/par*.par
echo '## Known shells -c'
parallel -k "\`which {}\` -c 'parallel -Dinit echo ::: 1' | grep which;"
::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh pdksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh;
::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh;
rm -f /tmp/par*.par
echo '## Known shells |'
parallel -k "echo 'parallel -Dinit echo ::: 1' | \`which {}\` | grep which;"
::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh pdksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh;
::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh;
rm -f /tmp/par*.par
echo '## Started directly from perl'
@ -121,7 +121,7 @@ echo '### added transfersize/returnsize to local jobs'
echo '### --tmux test - check termination'
perl -e 'map {printf "$_%o%c\n",$_,$_}1..255' |
stdout parallel --tmux echo {} :::: - ::: a b |
stdout parallel --tmux 'sleep 0.2;echo {}' :::: - ::: a b |
perl -pe 's:(/tmp\S+/tms).....:$1XXXXX:;'
EOF

View file

@ -32,10 +32,10 @@ echo '### test round-robin';
nice seq 1000 | $NICEPAR -j4 --block 1k --pipe --round-robin wc | sort
echo '### bug #43600: --pipe --linebuffer --round does not work'
seq 10000000000 | parallel --pipe --linebuffer --round cat | head
seq 10000000000 | parallel --pipe --linebuffer --round cat | head | wc -l
echo '### Check that 4 processes are really used'
seq 1000000 | parallel -j4 --pipe --round --line-buf wc |sort
seq 1000000 | parallel -j4 --pipe --round --line-buf wc | wc -l
echo '### --version must have higher priority than retired options'
$NICEPAR --version -g -Y -U -W -T | tail

View file

@ -1,6 +1,9 @@
#!/bin/bash
MYSQL_ADMIN_DBURL=mysql://`whoami`:`whoami`@
mysqlrootpass=${mysqlrootpass:-b+Ydjq4ejT4E}
MYSQL_ADMIN_DBURL=mysql://root:$mysqlrootpass@/mysql
exec 2>&1
# Setup
sql $MYSQL_ADMIN_DBURL "drop user 'sqlunittest'@'localhost'"

View file

@ -1,6 +1,9 @@
#!/bin/bash
MYSQL_ADMIN_DBURL=mysql://tange:tange@
mysqlrootpass=${mysqlrootpass:-b+Ydjq4ejT4E}
MYSQL_ADMIN_DBURL=mysql://root:$mysqlrootpass@/mysql
exec 2>&1
# Setup
sql $MYSQL_ADMIN_DBURL "drop user 'sqlunittest'@'localhost'"
@ -55,9 +58,18 @@ echo "### Test dburl :"
stdout sql ':'
echo "### Test oracle with multiple arguments on the command line"
echo ":oraunittest oracle://hr:hr@/xe" >> ~/.sql/aliases
echo ":oraunittest oracle://hr:hr@oracle11.tange.dk/xe" >> ~/.sql/aliases
perl -i -ne '$seen{$_}++ || print' ~/.sql/aliases
sql :oraunittest "WHENEVER SQLERROR EXIT FAILURE" "SELECT 'arg2' FROM DUAL;" "SELECT 'arg3' FROM DUAL;"
echo "### Test oracle with \n arguments on the command line"
sql :oraunittest 'select 1 from dual;\nselect 2 from dual;\x0aselect 3 from dual;'
echo "### Test --show-tables"
sql --show-tables :oraunittest
echo "### Test --show-databases"
sql --show-databases :oraunittest
echo "### Test --listproc"
sql --listproc :oraunittest

View file

@ -1,24 +1,24 @@
### Test installation missing pod2*
make[0]: Entering directory `/home/tange/privat/parallel'
make[0]: Entering directory '/mnt/4tb/home/tange/privat/parallel'
make dist-gzip am__post_remove_distdir='@:'
make[0]: Entering directory `/home/tange/privat/parallel'
make[0]: Entering directory '/mnt/4tb/home/tange/privat/parallel'
if test -d "parallel-00000000"; then find "parallel-00000000" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "parallel-00000000" || { sleep 5 && rm -rf "parallel-00000000"; }; else :; fi
test -d "parallel-00000000" || mkdir "parallel-00000000"
(cd src && make top_distdir=../parallel-00000000 distdir=../parallel-00000000/src \
am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
make[0]: Entering directory `/home/tange/privat/parallel/src'
make[0]: Leaving directory `/home/tange/privat/parallel/src'
make[0]: Entering directory '/mnt/4tb/home/tange/privat/parallel/src'
make[0]: Leaving directory '/mnt/4tb/home/tange/privat/parallel/src'
test -n "" \
|| find "parallel-00000000" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec /bin/bash /home/tange/privat/parallel/install-sh -c -m a+r {} {} \; \
|| chmod -R a+r "parallel-00000000"
|| find "parallel-00000000" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec /bin/bash /mnt/4tb/home/tange/privat/parallel/install-sh -c -m a+r {} {} \; \
|| chmod -R a+r "parallel-00000000"
tardir=parallel-00000000 && ${TAR-tar} chof - "$tardir" | GZIP=--best gzip -c >parallel-00000000.tar.gz
make[0]: Leaving directory `/home/tange/privat/parallel'
make[0]: Leaving directory '/mnt/4tb/home/tange/privat/parallel'
if test -d "parallel-00000000"; then find "parallel-00000000" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "parallel-00000000" || { sleep 5 && rm -rf "parallel-00000000"; }; else :; fi
make[0]: Leaving directory `/home/tange/privat/parallel'
make[0]: Leaving directory '/mnt/4tb/home/tange/privat/parallel'
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
@ -32,306 +32,264 @@ config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
Making install in src
make[0]: Entering directory `/tmp/parallel-00000000/src'
make[0]: Entering directory '/tmp/parallel-00000000/src'
pod2man --release='00000000' --center='parallel' \
--section=1 ./parallel.pod > ./parallel.1n \
&& mv ./parallel.1n ./parallel.1 \
|| echo "Warning: pod2man not found. Using old parallel.1"
--section=1 ./parallel.pod > ./parallel.1n \
&& mv ./parallel.1n ./parallel.1 \
|| echo "Warning: pod2man not found. Using old parallel.1"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old parallel.1
pod2man --release='00000000' --center='parallel' \
--section=1 ./env_parallel.pod > ./env_parallel.1n \
&& mv ./env_parallel.1n ./env_parallel.1 \
|| echo "Warning: pod2man not found. Using old env_parallel.1"
--section=1 ./env_parallel.pod > ./env_parallel.1n \
&& mv ./env_parallel.1n ./env_parallel.1 \
|| echo "Warning: pod2man not found. Using old env_parallel.1"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old env_parallel.1
pod2man --release='00000000' --center='parallel' \
--section=1 ./sem.pod > ./sem.1n \
&& mv ./sem.1n ./sem.1 \
|| echo "Warning: pod2man not found. Using old sem.1"
--section=1 ./sem.pod > ./sem.1n \
&& mv ./sem.1n ./sem.1 \
|| echo "Warning: pod2man not found. Using old sem.1"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old sem.1
pod2man --release='00000000' --center='parallel' \
--section=1 ./sql > ./sql.1n \
&& mv ./sql.1n ./sql.1 \
|| echo "Warning: pod2man not found. Using old sql.1"
--section=1 ./sql > ./sql.1n \
&& mv ./sql.1n ./sql.1 \
|| echo "Warning: pod2man not found. Using old sql.1"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old sql.1
pod2man --release='00000000' --center='parallel' \
--section=1 ./niceload.pod > ./niceload.1n \
&& mv ./niceload.1n ./niceload.1 \
|| echo "Warning: pod2man not found. Using old niceload.1"
--section=1 ./niceload.pod > ./niceload.1n \
&& mv ./niceload.1n ./niceload.1 \
|| echo "Warning: pod2man not found. Using old niceload.1"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old niceload.1
pod2man --release='00000000' --center='parallel' \
--section=7 ./parallel_tutorial.pod > ./parallel_tutorial.7n \
&& mv ./parallel_tutorial.7n ./parallel_tutorial.7 \
|| echo "Warning: pod2man not found. Using old parallel_tutorial.7"
--section=7 ./parallel_tutorial.pod > ./parallel_tutorial.7n \
&& mv ./parallel_tutorial.7n ./parallel_tutorial.7 \
|| echo "Warning: pod2man not found. Using old parallel_tutorial.7"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old parallel_tutorial.7
pod2man --release='00000000' --center='parallel' \
--section=7 ./parallel_design.pod > ./parallel_design.7n \
&& mv ./parallel_design.7n ./parallel_design.7 \
|| echo "Warning: pod2man not found. Using old parallel_design.7"
--section=7 ./parallel_design.pod > ./parallel_design.7n \
&& mv ./parallel_design.7n ./parallel_design.7 \
|| echo "Warning: pod2man not found. Using old parallel_design.7"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old parallel_design.7
pod2html --title "GNU Parallel" ./parallel.pod > ./parallel.htmln \
&& mv ./parallel.htmln ./parallel.html \
|| echo "Warning: pod2html not found. Using old parallel.html"
&& mv ./parallel.htmln ./parallel.html \
|| echo "Warning: pod2html not found. Using old parallel.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old parallel.html
rm -f ./pod2htm*
pod2html --title "GNU Parallel with environment" ./env_parallel.pod > ./env_parallel.htmln \
&& mv ./env_parallel.htmln ./env_parallel.html \
|| echo "Warning: pod2html not found. Using old env_parallel.html"
&& mv ./env_parallel.htmln ./env_parallel.html \
|| echo "Warning: pod2html not found. Using old env_parallel.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old env_parallel.html
rm -f ./pod2htm*
pod2html --title "GNU Parallel design" ./parallel_design.pod > ./parallel_design.htmln \
&& mv ./parallel_design.htmln ./parallel_design.html \
|| echo "Warning: pod2html not found. Using old parallel_design.html"
&& mv ./parallel_design.htmln ./parallel_design.html \
|| echo "Warning: pod2html not found. Using old parallel_design.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old parallel_design.html
rm -f ./pod2htm*
pod2html --title "sem (GNU Parallel)" ./sem.pod > ./sem.htmln \
&& mv ./sem.htmln ./sem.html \
|| echo "Warning: pod2html not found. Using old sem.html"
&& mv ./sem.htmln ./sem.html \
|| echo "Warning: pod2html not found. Using old sem.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old sem.html
rm -f ./pod2htm*
pod2html --title "GNU SQL" ./sql > ./sql.htmln \
&& mv ./sql.htmln ./sql.html \
|| echo "Warning: pod2html not found. Using old sql.html"
&& mv ./sql.htmln ./sql.html \
|| echo "Warning: pod2html not found. Using old sql.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old sql.html
rm -f ./pod2htm*
pod2html --title "GNU niceload" ./niceload.pod > ./niceload.htmln \
&& mv ./niceload.htmln ./niceload.html \
|| echo "Warning: pod2html not found. Using old niceload.html"
&& mv ./niceload.htmln ./niceload.html \
|| echo "Warning: pod2html not found. Using old niceload.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old niceload.html
rm -f ./pod2htm*
pod2html --title "GNU Parallel tutorial" ./parallel_tutorial.pod > ./parallel_tutorial.htmln \
&& mv ./parallel_tutorial.htmln ./parallel_tutorial.html \
|| echo "Warning: pod2html not found. Using old parallel_tutorial.html"
&& mv ./parallel_tutorial.htmln ./parallel_tutorial.html \
|| echo "Warning: pod2html not found. Using old parallel_tutorial.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old parallel_tutorial.html
rm -f ./pod2htm*
pod2texi --output=./parallel.texi ./parallel.pod \
|| echo "Warning: pod2texi not found. Using old parallel.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old parallel.texi
|| echo "Warning: pod2texi not found. Using old parallel.texi"
pod2texi --output=./env_parallel.texi ./env_parallel.pod \
|| echo "Warning: pod2texi not found. Using old env_parallel.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old env_parallel.texi
|| echo "Warning: pod2texi not found. Using old env_parallel.texi"
pod2texi --output=./sem.texi ./sem.pod \
|| echo "Warning: pod2texi not found. Using old sem.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old sem.texi
|| echo "Warning: pod2texi not found. Using old sem.texi"
pod2texi --output=./sql.texi ./sql \
|| echo "Warning: pod2texi not found. Using old sql.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old sql.texi
|| echo "Warning: pod2texi not found. Using old sql.texi"
pod2texi --output=./niceload.texi ./niceload.pod \
|| echo "Warning: pod2texi not found. Using old niceload.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old niceload.texi
|| echo "Warning: pod2texi not found. Using old niceload.texi"
pod2texi --output=./parallel_tutorial.texi ./parallel_tutorial.pod \
|| echo "Warning: pod2texi not found. Using old parallel_tutorial.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old parallel_tutorial.texi
|| echo "Warning: pod2texi not found. Using old parallel_tutorial.texi"
pod2texi --output=./parallel_design.texi ./parallel_design.pod \
|| echo "Warning: pod2texi not found. Using old parallel_design.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old parallel_design.texi
|| echo "Warning: pod2texi not found. Using old parallel_design.texi"
pod2pdf --output-file ./parallel.pdf ./parallel.pod --title "GNU Parallel" \
|| echo "Warning: pod2pdf not found. Using old parallel.pdf"
|| echo "Warning: pod2pdf not found. Using old parallel.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old parallel.pdf
pod2pdf --output-file ./env_parallel.pdf ./env_parallel.pod --title "GNU Parallel with environment" \
|| echo "Warning: pod2pdf not found. Using old env_parallel.pdf"
|| echo "Warning: pod2pdf not found. Using old env_parallel.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old env_parallel.pdf
pod2pdf --output-file ./sem.pdf ./sem.pod --title "GNU sem" \
|| echo "Warning: pod2pdf not found. Using old sem.pdf"
|| echo "Warning: pod2pdf not found. Using old sem.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old sem.pdf
pod2pdf --output-file ./sql.pdf ./sql --title "GNU SQL" \
|| echo "Warning: pod2pdf not found. Using old sql.pdf"
|| echo "Warning: pod2pdf not found. Using old sql.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old sql.pdf
pod2pdf --output-file ./niceload.pdf ./niceload.pod --title "GNU niceload" \
|| echo "Warning: pod2pdf not found. Using old niceload.pdf"
|| echo "Warning: pod2pdf not found. Using old niceload.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old niceload.pdf
pod2pdf --output-file ./parallel_tutorial.pdf ./parallel_tutorial.pod --title "GNU Parallel Tutorial" \
|| echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf"
|| echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old parallel_tutorial.pdf
pod2pdf --output-file ./parallel_design.pdf ./parallel_design.pod --title "GNU Parallel Design" \
|| echo "Warning: pod2pdf not found. Using old parallel_design.pdf"
|| echo "Warning: pod2pdf not found. Using old parallel_design.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old parallel_design.pdf
make[0]: Entering directory `/tmp/parallel-00000000/src'
make[0]: Entering directory '/tmp/parallel-00000000/src'
/bin/mkdir -p '/usr/local/bin'
/usr/bin/install -c parallel sql niceload env_parallel env_parallel.bash env_parallel.zsh env_parallel.fish env_parallel.ksh env_parallel.pdksh env_parallel.csh env_parallel.tcsh '/usr/local/bin'
make install-exec-hook
make[0]: Entering directory `/tmp/parallel-00000000/src'
make[0]: Entering directory '/tmp/parallel-00000000/src'
rm /usr/local/bin/sem || true
ln -s parallel /usr/local/bin/sem
make[0]: Leaving directory `/tmp/parallel-00000000/src'
make[0]: Leaving directory '/tmp/parallel-00000000/src'
pod2html --title "GNU Parallel" ./parallel.pod > ./parallel.htmln \
&& mv ./parallel.htmln ./parallel.html \
|| echo "Warning: pod2html not found. Using old parallel.html"
&& mv ./parallel.htmln ./parallel.html \
|| echo "Warning: pod2html not found. Using old parallel.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old parallel.html
rm -f ./pod2htm*
pod2html --title "GNU Parallel with environment" ./env_parallel.pod > ./env_parallel.htmln \
&& mv ./env_parallel.htmln ./env_parallel.html \
|| echo "Warning: pod2html not found. Using old env_parallel.html"
&& mv ./env_parallel.htmln ./env_parallel.html \
|| echo "Warning: pod2html not found. Using old env_parallel.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old env_parallel.html
rm -f ./pod2htm*
pod2html --title "GNU Parallel design" ./parallel_design.pod > ./parallel_design.htmln \
&& mv ./parallel_design.htmln ./parallel_design.html \
|| echo "Warning: pod2html not found. Using old parallel_design.html"
&& mv ./parallel_design.htmln ./parallel_design.html \
|| echo "Warning: pod2html not found. Using old parallel_design.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old parallel_design.html
rm -f ./pod2htm*
pod2html --title "sem (GNU Parallel)" ./sem.pod > ./sem.htmln \
&& mv ./sem.htmln ./sem.html \
|| echo "Warning: pod2html not found. Using old sem.html"
&& mv ./sem.htmln ./sem.html \
|| echo "Warning: pod2html not found. Using old sem.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old sem.html
rm -f ./pod2htm*
pod2html --title "GNU SQL" ./sql > ./sql.htmln \
&& mv ./sql.htmln ./sql.html \
|| echo "Warning: pod2html not found. Using old sql.html"
&& mv ./sql.htmln ./sql.html \
|| echo "Warning: pod2html not found. Using old sql.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old sql.html
rm -f ./pod2htm*
pod2html --title "GNU niceload" ./niceload.pod > ./niceload.htmln \
&& mv ./niceload.htmln ./niceload.html \
|| echo "Warning: pod2html not found. Using old niceload.html"
&& mv ./niceload.htmln ./niceload.html \
|| echo "Warning: pod2html not found. Using old niceload.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old niceload.html
rm -f ./pod2htm*
pod2html --title "GNU Parallel tutorial" ./parallel_tutorial.pod > ./parallel_tutorial.htmln \
&& mv ./parallel_tutorial.htmln ./parallel_tutorial.html \
|| echo "Warning: pod2html not found. Using old parallel_tutorial.html"
&& mv ./parallel_tutorial.htmln ./parallel_tutorial.html \
|| echo "Warning: pod2html not found. Using old parallel_tutorial.html"
/bin/bash: pod2html: command not found
Warning: pod2html not found. Using old parallel_tutorial.html
rm -f ./pod2htm*
pod2texi --output=./parallel.texi ./parallel.pod \
|| echo "Warning: pod2texi not found. Using old parallel.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old parallel.texi
pod2texi --output=./env_parallel.texi ./env_parallel.pod \
|| echo "Warning: pod2texi not found. Using old env_parallel.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old env_parallel.texi
pod2texi --output=./sem.texi ./sem.pod \
|| echo "Warning: pod2texi not found. Using old sem.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old sem.texi
pod2texi --output=./sql.texi ./sql \
|| echo "Warning: pod2texi not found. Using old sql.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old sql.texi
pod2texi --output=./niceload.texi ./niceload.pod \
|| echo "Warning: pod2texi not found. Using old niceload.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old niceload.texi
pod2texi --output=./parallel_tutorial.texi ./parallel_tutorial.pod \
|| echo "Warning: pod2texi not found. Using old parallel_tutorial.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old parallel_tutorial.texi
pod2texi --output=./parallel_design.texi ./parallel_design.pod \
|| echo "Warning: pod2texi not found. Using old parallel_design.texi"
/bin/bash: pod2texi: command not found
Warning: pod2texi not found. Using old parallel_design.texi
pod2pdf --output-file ./parallel.pdf ./parallel.pod --title "GNU Parallel" \
|| echo "Warning: pod2pdf not found. Using old parallel.pdf"
|| echo "Warning: pod2pdf not found. Using old parallel.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old parallel.pdf
pod2pdf --output-file ./env_parallel.pdf ./env_parallel.pod --title "GNU Parallel with environment" \
|| echo "Warning: pod2pdf not found. Using old env_parallel.pdf"
|| echo "Warning: pod2pdf not found. Using old env_parallel.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old env_parallel.pdf
pod2pdf --output-file ./sem.pdf ./sem.pod --title "GNU sem" \
|| echo "Warning: pod2pdf not found. Using old sem.pdf"
|| echo "Warning: pod2pdf not found. Using old sem.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old sem.pdf
pod2pdf --output-file ./sql.pdf ./sql --title "GNU SQL" \
|| echo "Warning: pod2pdf not found. Using old sql.pdf"
|| echo "Warning: pod2pdf not found. Using old sql.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old sql.pdf
pod2pdf --output-file ./niceload.pdf ./niceload.pod --title "GNU niceload" \
|| echo "Warning: pod2pdf not found. Using old niceload.pdf"
|| echo "Warning: pod2pdf not found. Using old niceload.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old niceload.pdf
pod2pdf --output-file ./parallel_tutorial.pdf ./parallel_tutorial.pod --title "GNU Parallel Tutorial" \
|| echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf"
|| echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old parallel_tutorial.pdf
pod2pdf --output-file ./parallel_design.pdf ./parallel_design.pod --title "GNU Parallel Design" \
|| echo "Warning: pod2pdf not found. Using old parallel_design.pdf"
|| echo "Warning: pod2pdf not found. Using old parallel_design.pdf"
/bin/bash: pod2pdf: command not found
Warning: pod2pdf not found. Using old parallel_design.pdf
/bin/mkdir -p '/usr/local/share/doc/parallel'
/usr/bin/install -c -m 644 parallel.html env_parallel.html sem.html sql.html niceload.html parallel_tutorial.html parallel_design.html parallel.texi env_parallel.texi sem.texi sql.texi niceload.texi parallel_tutorial.texi parallel_design.texi parallel.pdf env_parallel.pdf sem.pdf sql.pdf niceload.pdf parallel_tutorial.pdf parallel_design.pdf '/usr/local/share/doc/parallel'
pod2man --release='00000000' --center='parallel' \
--section=1 ./parallel.pod > ./parallel.1n \
&& mv ./parallel.1n ./parallel.1 \
|| echo "Warning: pod2man not found. Using old parallel.1"
--section=1 ./parallel.pod > ./parallel.1n \
&& mv ./parallel.1n ./parallel.1 \
|| echo "Warning: pod2man not found. Using old parallel.1"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old parallel.1
pod2man --release='00000000' --center='parallel' \
--section=1 ./env_parallel.pod > ./env_parallel.1n \
&& mv ./env_parallel.1n ./env_parallel.1 \
|| echo "Warning: pod2man not found. Using old env_parallel.1"
--section=1 ./env_parallel.pod > ./env_parallel.1n \
&& mv ./env_parallel.1n ./env_parallel.1 \
|| echo "Warning: pod2man not found. Using old env_parallel.1"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old env_parallel.1
pod2man --release='00000000' --center='parallel' \
--section=1 ./sem.pod > ./sem.1n \
&& mv ./sem.1n ./sem.1 \
|| echo "Warning: pod2man not found. Using old sem.1"
--section=1 ./sem.pod > ./sem.1n \
&& mv ./sem.1n ./sem.1 \
|| echo "Warning: pod2man not found. Using old sem.1"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old sem.1
pod2man --release='00000000' --center='parallel' \
--section=1 ./sql > ./sql.1n \
&& mv ./sql.1n ./sql.1 \
|| echo "Warning: pod2man not found. Using old sql.1"
--section=1 ./sql > ./sql.1n \
&& mv ./sql.1n ./sql.1 \
|| echo "Warning: pod2man not found. Using old sql.1"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old sql.1
pod2man --release='00000000' --center='parallel' \
--section=1 ./niceload.pod > ./niceload.1n \
&& mv ./niceload.1n ./niceload.1 \
|| echo "Warning: pod2man not found. Using old niceload.1"
--section=1 ./niceload.pod > ./niceload.1n \
&& mv ./niceload.1n ./niceload.1 \
|| echo "Warning: pod2man not found. Using old niceload.1"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old niceload.1
pod2man --release='00000000' --center='parallel' \
--section=7 ./parallel_tutorial.pod > ./parallel_tutorial.7n \
&& mv ./parallel_tutorial.7n ./parallel_tutorial.7 \
|| echo "Warning: pod2man not found. Using old parallel_tutorial.7"
--section=7 ./parallel_tutorial.pod > ./parallel_tutorial.7n \
&& mv ./parallel_tutorial.7n ./parallel_tutorial.7 \
|| echo "Warning: pod2man not found. Using old parallel_tutorial.7"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old parallel_tutorial.7
pod2man --release='00000000' --center='parallel' \
--section=7 ./parallel_design.pod > ./parallel_design.7n \
&& mv ./parallel_design.7n ./parallel_design.7 \
|| echo "Warning: pod2man not found. Using old parallel_design.7"
--section=7 ./parallel_design.pod > ./parallel_design.7n \
&& mv ./parallel_design.7n ./parallel_design.7 \
|| echo "Warning: pod2man not found. Using old parallel_design.7"
/bin/bash: pod2man: command not found
Warning: pod2man not found. Using old parallel_design.7
/bin/mkdir -p '/usr/local/share/man/man1'
/usr/bin/install -c -m 644 parallel.1 env_parallel.1 sem.1 sql.1 niceload.1 '/usr/local/share/man/man1'
/bin/mkdir -p '/usr/local/share/man/man7'
/usr/bin/install -c -m 644 parallel_tutorial.7 parallel_design.7 '/usr/local/share/man/man7'
make[0]: Leaving directory `/tmp/parallel-00000000/src'
make[0]: Leaving directory `/tmp/parallel-00000000/src'
make[0]: Entering directory `/tmp/parallel-00000000'
make[0]: Entering directory `/tmp/parallel-00000000'
make[0]: Nothing to be done for `install-exec-am'.
make[0]: Nothing to be done for `install-data-am'.
make[0]: Leaving directory `/tmp/parallel-00000000'
make[0]: Leaving directory `/tmp/parallel-00000000'
make[0]: Leaving directory '/tmp/parallel-00000000/src'
make[0]: Leaving directory '/tmp/parallel-00000000/src'
make[0]: Entering directory '/tmp/parallel-00000000'
make[0]: Entering directory '/tmp/parallel-00000000'
make[0]: Nothing to be done for 'install-exec-am'.
make[0]: Nothing to be done for 'install-data-am'.
make[0]: Leaving directory '/tmp/parallel-00000000'
make[0]: Leaving directory '/tmp/parallel-00000000'

View file

@ -115,6 +115,7 @@ cat /dev/zero >$SMALLDISK/out; parallel --tmpdir $SMALLDISK echo ::: OK; rm
cat: write error: No space left on device
parallel: Error: Output is incomplete. Cannot append to buffer file in /mnt/ram. Is the disk full?
parallel: Error: Change $TMPDIR with --tmpdir or use --compress.
Warning: unable to close filehandle properly: No space left on device during global destruction.
echo '**'
**
echo '### bug #44614: --pipepart --header off by one'
@ -177,7 +178,7 @@ parallel -k echo {#} ::: 1 2 ::: 1 2
4
echo '**'
**
testquote() { printf '"#&/\n()*=?'"'" | PARALLEL_SHELL=$1 parallel -0 echo; }; export -f testquote; parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh pdksh posh rbash rc rzsh sash sh static-sh tcsh yash zsh
testquote() { printf '"#&/\n()*=?'"'" | PARALLEL_SHELL=$1 parallel -0 echo; }; export -f testquote; parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rc rzsh sash sh static-sh tcsh yash zsh
ash "#&/
ash ()*=?'
bash "#&/
@ -198,8 +199,6 @@ ksh93 "#&/
ksh93 ()*=?'
mksh "#&/
mksh ()*=?'
pdksh "#&/
pdksh ()*=?'
posh "#&/
posh ()*=?'
rbash "#&/
@ -278,9 +277,12 @@ echo '**'
**
echo '### bug #45998: --pipe to function broken'
### bug #45998: --pipe to function broken
myfunc() { echo $1; cat; }; export -f myfunc; echo OK | parallel --pipe myfunc {#}
myfunc() { echo $1; cat; }; export -f myfunc; echo pipefunc OK | parallel --pipe myfunc {#}; echo pipefunc and more OK | parallel --pipe 'myfunc {#};echo and more OK'
1
OK
pipefunc OK
1
pipefunc and more OK
and more OK
echo '**'
**
echo 'bug #46016: --joblog should not log when --dryrun'
@ -295,23 +297,23 @@ bug #45993: --wd ... should also work when run locally
parallel: Error: Cannot change into non-executable dir /bi: No such file or directory
parallel --wd /bin 'pwd; echo $OLDPWD; echo' ::: OK
/bin
/home/tange/privat/parallel/testsuite
/mnt/4tb/home/tange/privat/parallel/testsuite
OK
parallel --wd / 'pwd; echo $OLDPWD; echo' ::: OK
/
/home/tange/privat/parallel/testsuite
/mnt/4tb/home/tange/privat/parallel/testsuite
OK
parallel --wd /tmp 'pwd; echo $OLDPWD; echo' ::: OK
/tmp
/home/tange/privat/parallel/testsuite
/mnt/4tb/home/tange/privat/parallel/testsuite
OK
parallel --wd ... 'pwd; echo $OLDPWD; echo' ::: OK | perl -pe 's/\d+/0/g'
/home/tange/.parallel/tmp/aspire-0-0
/home/tange/privat/parallel/testsuite
/mnt/0tb/home/tange/.parallel/tmp/aspire-0-0
/mnt/0tb/home/tange/privat/parallel/testsuite
OK
parallel --wd . 'pwd; echo $OLDPWD; echo' ::: OK
/home/tange/privat/parallel/testsuite
/home/tange/privat/parallel/testsuite
/mnt/4tb/home/tange/privat/parallel/testsuite
/mnt/4tb/home/tange/privat/parallel/testsuite
OK
echo '**'
**
@ -437,7 +439,7 @@ echo '**'
**
echo '### Test --shellquote'
### Test --shellquote
parallel --tag -q -k {} -c perl\ -e\ \'print\ pack\(\"c\*\",1..255\)\'\ \|\ parallel\ -0\ --shellquote ::: ash bash csh dash fish fizsh ksh ksh93 lksh mksh pdksh posh rzsh sash sh static-sh tcsh yash zsh csh tcsh
parallel --tag -q -k {} -c perl\ -e\ \'print\ pack\(\"c\*\",1..255\)\'\ \|\ parallel\ -0\ --shellquote ::: ash bash csh dash fish fizsh ksh ksh93 lksh mksh posh rzsh sash sh static-sh tcsh yash zsh csh tcsh
ash \\\\\\\\ '
ash '\ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
bash \\\\\\\\ '
@ -458,12 +460,8 @@ lksh \\\\\\\\ '
lksh '\ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
mksh \\\\\\\\ '
mksh '\ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
pdksh \\\\\\\\ '
pdksh '\ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
posh \\\\\\\\ '
posh '\ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
rzsh \\\\\\\\ '
rzsh '\ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
sash \\\\\\\\ '
sash '\ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
sh \\\\\\\\ '
@ -480,6 +478,7 @@ csh \\\\\\\\ "\
csh "\ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
tcsh \\\\\\\\ "\
tcsh "\ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
rzsh zsh:1: /bin/echo: restricted
echo '**'
**
echo xargs compatibility
@ -621,59 +620,59 @@ xargs: argument line too long
parallel: Error: Command line too long (1000007 >= 10) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
echo '### Test -x'
### Test -x
(seq 1 10; echo 12345; seq 12 15) | stdout parallel -j1 -km -s 10 -x echo
(seq 1 10; echo 12345; seq 12 15) | stdsort parallel -j1 -km -s 10 -x echo
1 2
3 4
5 6
7 8
9 10
parallel: Error: Command line too long (10 >= 10) at input 0: 12345
(seq 1 10; echo 12345; seq 12 15) | stdout parallel -j1 -kX -s 10 -x echo
(seq 1 10; echo 12345; seq 12 15) | stdsort parallel -j1 -kX -s 10 -x echo
1 2
3 4
5 6
7 8
9 10
parallel: Error: Command line too long (10 >= 10) at input 0: 12345
(seq 1 10; echo 12345; seq 12 15) | stdout xargs -s 10 -x echo
(seq 1 10; echo 12345; seq 12 15) | stdsort xargs -s 10 -x echo
1 2
3 4
5 6
7 8
xargs: argument line too long
7 8
(seq 1 10; echo 1234; seq 12 15) | stdout parallel -j1 -km -s 10 -x echo
(seq 1 10; echo 1234; seq 12 15) | stdsort parallel -j1 -km -s 10 -x echo
1 2
12
1234
13
14
15
3 4
5 6
7 8
9 10
1234
(seq 1 10; echo 1234; seq 12 15) | stdsort parallel -j1 -kX -s 10 -x echo
1 2
12
1234
13
14
15
(seq 1 10; echo 1234; seq 12 15) | stdout parallel -j1 -kX -s 10 -x echo
1 2
3 4
5 6
7 8
9 10
1234
(seq 1 10; echo 1234; seq 12 15) | stdsort xargs -s 10 -x echo
1 2
12
1234
13
14
15
(seq 1 10; echo 1234; seq 12 15) | stdout xargs -s 10 -x echo
1 2
3 4
5 6
7 8
9 10
1234
12
13
14
15
echo '### Test -a and --arg-file: Read input from file instead of stdin'
### Test -a and --arg-file: Read input from file instead of stdin
seq 1 10 >/tmp/parallel_$$-1; parallel -k -a /tmp/parallel_$$-1 echo; rm /tmp/parallel_$$-1

View file

@ -227,9 +227,10 @@ echo 'bug #44250: pxz complains File format not recognized but decompresses anyw
bug #44250: pxz complains File format not recognized but decompresses anyway
# The first line dumps core if run from make file. Why?!
stdout parallel --compress --compress-program pxz ls /{} ::: OK-if-missing-file
parallel: Error: pxz failed.
ls: cannot access '/OK-if-missing-file': No such file or directory
stdout parallel --compress --compress-program pixz --decompress-program 'pixz -d' ls /{} ::: OK-if-missing-file
ls: cannot access /OK-if-missing-file: No such file or directory
can not seek in input: Illegal seek
ls: cannot access '/OK-if-missing-file': No such file or directory
stdout parallel --compress --compress-program pixz --decompress-program 'pixz -d' true ::: OK-if-no-output
stdout parallel --compress --compress-program pxz true ::: OK-if-no-output
echo 'bug #41613: --compress --line-buffer no newline'; perl -e 'print "It worked"'| parallel --pipe --compress --line-buffer cat; echo

View file

@ -9,7 +9,7 @@ par_linebuffer_matters_compress OK: --linebuffer makes a difference
par_linebuffer_matters_compress_tag ### (--linebuffer) --compress --tag should give different output
par_linebuffer_matters_compress_tag OK: --linebuffer makes a difference
par_memory_leak ### Test for memory leaks
par_memory_leak Of 10 runs of 1 job at least one should be bigger than a 3000 job run
par_memory_leak Of 30 runs of 1 job at least one should be bigger than a 3000 job run
par_memory_leak Good: No memleak detected.
par_race_condition1 ### Test race condition on 8 CPU (my laptop)
par_race_condition1 1
@ -25,3 +25,4 @@ par_race_condition1 10
par_tmp_full ### Test --tmpdir running full. bug #40733 was caused by this
par_tmp_full parallel: Error: Output is incomplete. Cannot append to buffer file in /tmp/shm/parallel. Is the disk full?
par_tmp_full parallel: Error: Change $TMPDIR with --tmpdir or use --compress.
par_tmp_full Warning: unable to close filehandle properly: No space left on device during global destruction.

View file

@ -43,7 +43,7 @@ Got TERM
**
echo '### bug #47644: Wrong slot number replacement when resuming'
### bug #47644: Wrong slot number replacement when resuming
seq 0 20 | parallel -kj 4 --delay .2 --joblog /tmp/parallel-bug-47558 'sleep 1; echo {%} {=$_==10 and exit =}'; seq 0 20 | parallel -kj 4 --resume --delay .2 --joblog /tmp/parallel-bug-47558 'sleep 1; echo {%} {=$_==110 and exit =}'
seq 0 20 | parallel -kj 4 --delay 0.2 --joblog /tmp/parallel-bug-47558 'sleep 1; echo {%} {=$_==10 and exit =}'; seq 0 20 | parallel -kj 4 --resume --delay 0.2 --joblog /tmp/parallel-bug-47558 'sleep 1; echo {%} {=$_==110 and exit =}'
1 0
2 1
3 2

View file

@ -27,6 +27,8 @@ par_sqlandworker $MYSQL : sleep .3;echo 5 b 5 b 5 b\n
par_sqlandworker $MYSQL : sleep .3;echo 5 c 5 c 5 c\n
par_sqlandworker $MYSQL : sleep .3;echo 5 d 5 d 5 d\n
par_sqlandworker $MYSQL : sleep .3;echo 5 e 5 e 5 e\n
par_sqlandworker $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
par_sqlandworker $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker \$PG
par_sqlandworker $PG Exit=0
par_sqlandworker $PG Exit=0
@ -167,6 +169,8 @@ par_sqlandworker_compress_linebuffer_tag $MYSQL : sleep .3;echo 5 b 5 b NULL NUL
par_sqlandworker_compress_linebuffer_tag $MYSQL : sleep .3;echo 5 c 5 c NULL NULL
par_sqlandworker_compress_linebuffer_tag $MYSQL : sleep .3;echo 5 d 5 d NULL NULL
par_sqlandworker_compress_linebuffer_tag $MYSQL : sleep .3;echo 5 e 5 e NULL NULL
par_sqlandworker_compress_linebuffer_tag $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
par_sqlandworker_compress_linebuffer_tag $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_compress_linebuffer_tag \$PG
par_sqlandworker_compress_linebuffer_tag $PG Exit=0
par_sqlandworker_compress_linebuffer_tag $PG Exit=0
@ -257,6 +261,8 @@ par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 b 5 b 5 b\n
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 c 5 c 5 c\n
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 d 5 d 5 d\n
par_sqlandworker_linebuffer $MYSQL : sleep .3;echo 5 e 5 e 5 e\n
par_sqlandworker_linebuffer $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
par_sqlandworker_linebuffer $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_linebuffer \$PG
par_sqlandworker_linebuffer $PG Exit=0
par_sqlandworker_linebuffer $PG Exit=0
@ -397,6 +403,8 @@ par_sqlandworker_linebuffer_tag $MYSQL : sleep .3;echo 5 b 5 b 5 b\t5 b\n
par_sqlandworker_linebuffer_tag $MYSQL : sleep .3;echo 5 c 5 c 5 c\t5 c\n
par_sqlandworker_linebuffer_tag $MYSQL : sleep .3;echo 5 d 5 d 5 d\t5 d\n
par_sqlandworker_linebuffer_tag $MYSQL : sleep .3;echo 5 e 5 e 5 e\t5 e\n
par_sqlandworker_linebuffer_tag $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
par_sqlandworker_linebuffer_tag $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_linebuffer_tag \$PG
par_sqlandworker_linebuffer_tag $PG Exit=0
par_sqlandworker_linebuffer_tag $PG Exit=0
@ -537,6 +545,8 @@ par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 b 5 b 5 b\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 c 5 c 5 c\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 d 5 d 5 d\n
par_sqlandworker_lo $MYSQL lo sleep .3;echo 5 e 5 e 5 e\n
par_sqlandworker_lo $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
par_sqlandworker_lo $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_lo \$PG
par_sqlandworker_lo $PG Exit=0
par_sqlandworker_lo $PG Exit=0
@ -677,6 +687,8 @@ par_sqlandworker_results $MYSQL : sleep .3;echo 5 b 5 b /tmp/out--sql/1/5/2/b/st
par_sqlandworker_results $MYSQL : sleep .3;echo 5 c 5 c /tmp/out--sql/1/5/2/c/stdout /tmp/out--sql/1/5/2/c/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 5 d 5 d /tmp/out--sql/1/5/2/d/stdout /tmp/out--sql/1/5/2/d/stderr
par_sqlandworker_results $MYSQL : sleep .3;echo 5 e 5 e /tmp/out--sql/1/5/2/e/stdout /tmp/out--sql/1/5/2/e/stderr
par_sqlandworker_results $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
par_sqlandworker_results $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_results \$PG
par_sqlandworker_results $PG Exit=0
par_sqlandworker_results $PG Exit=0
@ -767,6 +779,8 @@ par_sqlandworker_tag $MYSQL : sleep .3;echo 5 b 5 b 5 b\t5 b\n
par_sqlandworker_tag $MYSQL : sleep .3;echo 5 c 5 c 5 c\t5 c\n
par_sqlandworker_tag $MYSQL : sleep .3;echo 5 d 5 d 5 d\t5 d\n
par_sqlandworker_tag $MYSQL : sleep .3;echo 5 e 5 e 5 e\t5 e\n
par_sqlandworker_tag $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
par_sqlandworker_tag $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_tag \$PG
par_sqlandworker_tag $PG Exit=0
par_sqlandworker_tag $PG Exit=0
@ -907,6 +921,8 @@ par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 b 5 b NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 c 5 c NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 d 5 d NULL NULL
par_sqlandworker_unbuffer $MYSQL : sleep .3;echo 5 e 5 e NULL NULL
par_sqlandworker_unbuffer $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
par_sqlandworker_unbuffer $MYSQL mysql: [Warning] Using a password on the command line interface can be insecure.
p_wrapper par_sqlandworker_unbuffer \$PG
par_sqlandworker_unbuffer $PG Exit=0
par_sqlandworker_unbuffer $PG Exit=0

View file

@ -20,22 +20,22 @@ echo '### bug #41805: Idea: propagate --env for parallel --number-of-cores'
** test_zsh
FOO=test_zsh parallel --env FOO,HOME -S zsh@lo -N0 env ::: "" |sort|egrep 'FOO|^HOME'
FOO=test_zsh
HOME=/home/tange
HOME=/mnt/4tb/home/tange
echo '** test_zsh_filter'
** test_zsh_filter
FOO=test_zsh_filter parallel --filter-hosts --env FOO,HOME -S zsh@lo -N0 env ::: "" |sort|egrep 'FOO|^HOME'
FOO=test_zsh_filter
HOME=/home/tange
HOME=/mnt/4tb/home/tange
echo '** test_csh'
** test_csh
FOO=test_csh parallel --env FOO,HOME -S csh@lo -N0 env ::: "" |sort|egrep 'FOO|^HOME'
FOO=test_csh
HOME=/home/tange
HOME=/mnt/4tb/home/tange
echo '** test_csh_filter'
** test_csh_filter
FOO=test_csh_filter parallel --filter-hosts --env FOO,HOME -S csh@lo -N0 env ::: "" |sort|egrep 'FOO|^HOME'
FOO=test_csh_filter
HOME=/home/tange
HOME=/mnt/4tb/home/tange
echo '** bug #41805 done'
** bug #41805 done
echo '### Deal with long command lines on remote servers'
@ -64,7 +64,7 @@ echo '### bug #40001: --joblog and --nonall seem not to work together:'
echo '### bug #40132: FreeBSD: --workdir . gives warning if . == $HOME'
### bug #40132: FreeBSD: --workdir . gives warning if . == $HOME
cd && parallel --workdir . -S lo pwd ::: ""
/home/tange
/mnt/4tb/home/tange
echo '### use function as $PARALLEL_SSH'
### use function as $PARALLEL_SSH
foossh() { echo "FOOSSH" >&2; ssh "$@"; }; export -f foossh; PARALLEL_SSH=foossh parallel -S 1/lo echo ::: 'Run through FOOSSH?'
@ -146,13 +146,13 @@ OK
OK
OK
ls: No match.
ls: cannot access ./?--: No such file or directory
ls: cannot access './?--': No such file or directory
ls: No match.
ls: cannot access ./--?: No such file or directory
ls: cannot access './--?': No such file or directory
ls: No match.
ls: cannot access ./?--.a: No such file or directory
ls: cannot access './?--.a': No such file or directory
ls: No match.
ls: cannot access ./--?.a: No such file or directory
ls: cannot access './--?.a': No such file or directory
echo '### Test --trc "/tmp/./--- /A" "/tmp/./ ---/B"'
### Test --trc "/tmp/./--- /A" "/tmp/./ ---/B"
mkdir -p '/tmp/./--- ' '/tmp/ ---'; touch -- '/tmp/./--- /A' '/tmp/ ---/B'; rm -f ./---?/A.a ./?---/B.a; parallel --trc {=s:.*/./::=}.a -S csh@lo,sh@lo touch ./{=s:.*/./::=}.a ::: '/tmp/./--- /A' '/tmp/./ ---/B'; ls ./---?/A.a ./?---/B.a; parallel --nonall -k -S csh@lo,sh@lo 'ls ./?--- ./---? || echo OK'; echo '### bug #46519: --onall ignores --transfer'
@ -162,8 +162,8 @@ OK
OK
### bug #46519: --onall ignores --transfer
ls: No match.
ls: cannot access ./?---: No such file or directory
ls: cannot access ./---?: No such file or directory
ls: cannot access './?---': No such file or directory
ls: cannot access './---?': No such file or directory
touch bug46519.{a,b,c}; rm -f bug46519.?? bug46519.???; parallel --onall --tf bug46519.{} --trc bug46519.{}{} --trc bug46519.{}{}{} -S csh@lo,sh@lo 'ls bug46519.{}; touch bug46519.{}{} bug46519.{}{}{}' ::: a b c; ls bug46519.?? bug46519.???; parallel --onall -S csh@lo,sh@lo ls bug46519.{}{} bug46519.{}{}{} ::: a b c && echo Cleanup failed
bug46519.a
bug46519.b
@ -177,22 +177,22 @@ bug46519.bb
bug46519.bbb
bug46519.cc
bug46519.ccc
ls: cannot access bug46519.aa: No such file or directory
ls: cannot access bug46519.aaa: No such file or directory
ls: cannot access bug46519.bb: No such file or directory
ls: cannot access bug46519.bbb: No such file or directory
ls: cannot access bug46519.cc: No such file or directory
ls: cannot access bug46519.ccc: No such file or directory
ls: cannot access bug46519.aa: No such file or directory
ls: cannot access bug46519.aaa: No such file or directory
ls: cannot access bug46519.bb: No such file or directory
ls: cannot access bug46519.bbb: No such file or directory
ls: cannot access bug46519.cc: No such file or directory
ls: cannot access bug46519.ccc: No such file or directory
ls: cannot access 'bug46519.aa': No such file or directory
ls: cannot access 'bug46519.aaa': No such file or directory
ls: cannot access 'bug46519.bb': No such file or directory
ls: cannot access 'bug46519.bbb': No such file or directory
ls: cannot access 'bug46519.cc': No such file or directory
ls: cannot access 'bug46519.ccc': No such file or directory
ls: cannot access 'bug46519.aa': No such file or directory
ls: cannot access 'bug46519.aaa': No such file or directory
ls: cannot access 'bug46519.bb': No such file or directory
ls: cannot access 'bug46519.bbb': No such file or directory
ls: cannot access 'bug46519.cc': No such file or directory
ls: cannot access 'bug46519.ccc': No such file or directory
echo '### Test --nice remote'
### Test --nice remote
stdout parallel --nice 1 -S lo -vv 'PAR=a bash -c "echo \$PAR {}"' ::: b | perl -pe 's/\S*parallel-server\S*/one-server/;s:[a-z/\\+=0-9]{500,}:base64:i;'
ssh lo -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;my\\\(\\\$in,\\\$out,\\\$eval\\\)\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;
ssh lo -- exec perl -e @GNU_Parallel\\\=split/_/,\\\"use_IPC::Open3\\\;_use_MIME::Base64\\\"\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;
a b
echo '**'
**

View file

@ -123,10 +123,11 @@ echo '### exported function to csh but with PARALLEL_SHELL=bash'
CSH/TCSH DO NOT SUPPORT newlines IN VARIABLES/FUNCTIONS. Unset doit
OK
bug #47695: How to set $PATH on remote?
Welcome to Linux Mint 17 Qiana (GNU/Linux 3.16.0-31-lowlatency x86_64)
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)
Welcome to Linux Mint
* Documentation: http://www.linuxmint.com
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
0 updates are security updates.
@ -135,10 +136,11 @@ BASH Path before: /bin:/usr/bin with no parallel
^^^^^^^^ Not found is OK
/bin:/usr/bin:/tmp OK
Welcome to Linux Mint 17 Qiana (GNU/Linux 3.16.0-31-lowlatency x86_64)
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)
Welcome to Linux Mint
* Documentation: http://www.linuxmint.com
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
0 updates are security updates.
@ -147,4 +149,5 @@ Thus no job control in this shell.
CSH Path before: /bin:/usr/bin with no parallel
parallel: Command not found.
^^^^^^^^ Not found is OK
/bin:/usr/bin:/tmp OK
parallel: Warning: Removed lo.
parallel: Error: There are no hosts left to run on.

View file

@ -95,7 +95,6 @@ echo '### works'
### works
stdout parallel -Sparallel@lo --tmux echo ::: \\\\\\\"\\\\\\\"\\\;\@ | grep -v 'See output'
stdout parallel -Sparallel@lo --tmux echo ::: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | grep -v 'See output'
parallel: Error: Command line too long (402 >= 118) at input 0: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
echo '### These blocked due to length'
### These blocked due to length
stdout parallel -Slo --tmux echo ::: \\\\\\\"\\\\\\\"\\\;\@ | grep -v 'See output'

View file

@ -34,7 +34,7 @@ Environment variables are:
stderr
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.0]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]
/usr/lib/autossh/autossh: invalid option -- '-'
usage: autossh [-V] [-M monitor_port[:echo_port]] [-f] [SSH_OPTIONS]
@ -66,14 +66,14 @@ Environment variables are:
stderr
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.0]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.1]
echo '### bug #46520: --basefile cleans up without --cleanup'
### bug #46520: --basefile cleans up without --cleanup
touch bug_46520; parallel -S parallel@lo --bf bug_46520 ls ::: bug_46520; ssh parallel@lo ls bug_46520; parallel -S parallel@lo --cleanup --bf bug_46520 ls ::: bug_46520; stdout ssh parallel@lo ls bug_46520 # should not exist
bug_46520
bug_46520
bug_46520
ls: cannot access bug_46520: No such file or directory
ls: cannot access 'bug_46520': No such file or directory
echo '### bug #36595: silent loss of input with --pipe and --sshlogin'
### bug #36595: silent loss of input with --pipe and --sshlogin
seq 10000 | xargs | parallel --pipe -S 8/localhost cat 2>/dev/null | wc
@ -85,9 +85,9 @@ OK1
OK2
echo '### --ssh lsh'
### --ssh lsh
parallel --ssh lsh -S lo echo ::: OK
parallel --ssh 'lsh -c aes256-ctr' -S lo echo ::: OK
OK
echo OK | parallel --ssh lsh --pipe -S csh@lo cat
echo OK | parallel --ssh 'lsh -c aes256-ctr' --pipe -S csh@lo cat
OK
# Todo rsync/trc csh@lo
# Test gl. parallel med --ssh lsh: Hvilke fejler? brug dem. Også hvis de fejler

View file

@ -54,21 +54,21 @@ echo '### Test --onall -u'; parallel --onall -S parallel@lo,csh@lo -u '(echo {
3
echo '### Test --nonall'; parallel --nonall -k -S parallel@lo,csh@lo pwd | sort
### Test --nonall
/home/csh
/home/parallel
/mnt/4tb/home/csh
/mnt/4tb/home/parallel
echo '### Test --nonall -u - should be interleaved x y x y'; parallel --nonall -S parallel@lo,csh@lo -u 'pwd|grep -q csh && sleep 3; pwd;sleep 12;pwd;'
### Test --nonall -u - should be interleaved x y x y
/home/parallel
/home/csh
/home/parallel
/home/csh
/mnt/4tb/home/parallel
/mnt/4tb/home/csh
/mnt/4tb/home/parallel
/mnt/4tb/home/csh
echo '### Test read sshloginfile from STDIN'; echo parallel@lo,csh@lo | parallel -S - -k --nonall pwd; echo parallel@lo,csh@lo | parallel --sshloginfile - -k --onall pwd\; echo ::: foo
### Test read sshloginfile from STDIN
/home/csh
/home/parallel
/home/csh
/mnt/4tb/home/csh
/mnt/4tb/home/parallel
/mnt/4tb/home/csh
foo
/home/parallel
/mnt/4tb/home/parallel
foo
echo '**'
**
@ -88,24 +88,24 @@ echo '### Test --nonall --basefile --cleanup (rm should fail)'; touch tmp/nona
### Test --nonall --basefile --cleanup (rm should fail)
tmp/nonall--basefile--clean
tmp/nonall--basefile--clean
rm: cannot remove tmp/nonall--basefile--clean: No such file or directory
rm: cannot remove tmp/nonall--basefile--clean: No such file or directory
rm: cannot remove 'tmp/nonall--basefile--clean': No such file or directory
rm: cannot remove 'tmp/nonall--basefile--clean': No such file or directory
echo '**'
**
echo '### Test --onall --basefile --cleanup (rm should fail)'; touch tmp/onall--basefile--clean; stdout parallel --onall --basefile tmp/onall--basefile--clean --cleanup -S parallel@lo,csh@lo ls {} ::: tmp/onall--basefile--clean; stdout parallel --onall -S parallel@lo,csh@lo rm {} ::: tmp/onall--basefile--clean; stdout rm tmp/onall--basefile--clean
### Test --onall --basefile --cleanup (rm should fail)
tmp/onall--basefile--clean
tmp/onall--basefile--clean
rm: cannot remove tmp/onall--basefile--clean: No such file or directory
rm: cannot remove tmp/onall--basefile--clean: No such file or directory
rm: cannot remove 'tmp/onall--basefile--clean': No such file or directory
rm: cannot remove 'tmp/onall--basefile--clean': No such file or directory
echo '**'
**
echo '### Test --workdir .'; ssh parallel@lo mkdir -p mydir; mkdir -p $HOME/mydir; cd $HOME/mydir; parallel --workdir . -S parallel@lo ::: pwd
### Test --workdir .
/home/parallel/mydir
/mnt/4tb/home/parallel/mydir
echo '### Test --wd .'; ssh csh@lo mkdir -p mydir; mkdir -p $HOME/mydir; cd $HOME/mydir; parallel --workdir . -S csh@lo ::: pwd
### Test --wd .
/home/csh/mydir
/mnt/4tb/home/csh/mydir
echo '### Test --wd {}'; ssh csh@lo rm -rf wd1 wd2; mkdir -p $HOME/mydir; cd $HOME/mydir; parallel --workdir {} -S csh@lo touch ::: wd1 wd2; ssh csh@lo ls -d wd1 wd2
### Test --wd {}
wd1

View file

@ -1,29 +1,29 @@
### test --env _
Both test that variables are copied,
but also that they are NOT copied, if ignored
par_bash_funky 3 arg alias_works
par_bash_funky function_works
par_bash_funky myvar works
par_bash_funky space 6
par_bash_funky assoc_val_a
par_bash_funky Funky-
par_bash_funky
par_bash_funky 
par_bash_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
par_bash_funky <><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
par_bash_funky 3 arg alias_works_over_ssh
par_bash_funky function_works_over_ssh
par_bash_funky myvar works
par_bash_funky space 6
par_bash_funky assoc_val_a
par_bash_funky Funky-
par_bash_funky
par_bash_funky 
par_bash_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
par_bash_funky <><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
par_bash_funky
par_bash_funky \\\\\\\\
par_bash_funky 
par_bash_funky 
par_bash_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
par_bash_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
par_bash_funky space 6
par_bash_funky space 6
par_bash_funky 3 arg alias_works
par_bash_funky 3 arg alias_works_over_ssh
par_bash_funky Funky-
par_bash_funky Funky-
par_bash_funky \ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
par_bash_funky assoc_val_a
par_bash_funky assoc_val_a
par_bash_funky function_works
par_bash_funky function_works_over_ssh
par_bash_funky myvar works
par_bash_funky myvar works
par_bash_funky €亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funky
par_bash_funky €亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funky
par_bash_man ### bash
par_bash_man ### From man env_parallel
par_bash_man aliases work
@ -219,23 +219,23 @@ par_fish_underscore fish: Unknown command 'myfunc work'
par_fish_underscore fish: myfunc work
par_fish_underscore ^
par_fish_underscore OK if ^^^^^^^^^^^^^^^^^ no myfunc
par_ksh_funky 3 arg alias_works
par_ksh_funky function_works
par_ksh_funky myvar works
par_ksh_funky space 6
par_ksh_funky assoc_val_a
par_ksh_funky Funky-
par_ksh_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
par_ksh_funky 3 arg alias_works_over_ssh
par_ksh_funky function_works_over_ssh
par_ksh_funky myvar works
par_ksh_funky space 6
par_ksh_funky assoc_val_a
par_ksh_funky Funky-
par_ksh_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
par_ksh_funky
par_ksh_funky \\\\\\\\
par_ksh_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funky
par_ksh_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funky
par_ksh_funky space 6
par_ksh_funky space 6
par_ksh_funky 3 arg alias_works
par_ksh_funky 3 arg alias_works_over_ssh
par_ksh_funky Funky-
par_ksh_funky Funky-
par_ksh_funky \ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
par_ksh_funky assoc_val_a
par_ksh_funky assoc_val_a
par_ksh_funky function_works
par_ksh_funky function_works_over_ssh
par_ksh_funky myvar works
par_ksh_funky myvar works
par_ksh_man ### ksh
par_ksh_man ### From man env_parallel
par_ksh_man aliases work
@ -282,83 +282,20 @@ par_ksh_underscore /usr/bin/ksh: line 113: myfunc: not found
par_ksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
par_ksh_underscore /usr/bin/ksh: line 113: myfunc: not found
par_ksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
par_pdksh_funky 3 arg alias_works
par_pdksh_funky function_works
par_pdksh_funky myvar works
par_pdksh_funky space 6
par_pdksh_funky assoc_val_b
par_pdksh_funky Funky-
par_pdksh_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
par_pdksh_funky 3 arg alias_works_over_ssh
par_pdksh_funky function_works_over_ssh
par_pdksh_funky myvar works
par_pdksh_funky space 6
par_pdksh_funky assoc_val_b
par_pdksh_funky Funky-
par_pdksh_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
par_pdksh_funky
par_pdksh_funky \\\\\\\\
par_pdksh_funky \ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䪤Ě声蹾胬𨜏㙡笋蕚𪀔髢𦰡脪𠗫𦖭䓀珢娫糭䨵鞸㘘𩄼疱髿癧α么功吒吭沔坼歿俞枯苒娉珮豹崤淚許廄琵跚愧稞鈾暝蓋墦穀閱璞餐縷擺黠孀髏躡ふж尐佢汻岤狖垥柦胐娖涂罡偅惝牾莍傜揊焮茻鄃幋滜綅赨塿槙箤踊嫹潿蔌醆嬞獦螏餤燡螰駹礒鎪瀙酀瀵騱酅贕鱋鱭𣘀园𧃸檝𠰺<E6AA9D>
par_pdksh_man ### pdksh
par_pdksh_man ### From man env_parallel
par_pdksh_man aliases work
par_pdksh_man aliases work
par_pdksh_man aliases work
par_pdksh_man aliases work
par_pdksh_man functions work
par_pdksh_man functions work
par_pdksh_man functions work
par_pdksh_man functions work
par_pdksh_man variables work
par_pdksh_man variables work
par_pdksh_man variables work
par_pdksh_man variables work
par_pdksh_man arrays
par_pdksh_man work,
par_pdksh_man too
par_pdksh_man arrays
par_pdksh_man work,
par_pdksh_man too
par_pdksh_man arrays
par_pdksh_man work,
par_pdksh_man too
par_pdksh_man arrays
par_pdksh_man work,
par_pdksh_man too
par_pdksh_underscore ### pdksh
par_pdksh_underscore ### Testing of --env _
par_pdksh_underscore variables in aliases in and arrays in functions work
par_pdksh_underscore variables in aliases in and arrays in functions work
par_pdksh_underscore variables in aliases in and arrays in functions work
par_pdksh_underscore variables in aliases in and arrays in functions work
par_pdksh_underscore variables in aliases in and arrays in functions work
par_pdksh_underscore variables in aliases in and arrays in functions work
par_pdksh_underscore aliases in and arrays in functions work
par_pdksh_underscore aliases in and arrays in functions work
par_pdksh_underscore aliases in functions work
par_pdksh_underscore aliases in functions work
par_pdksh_underscore aliases in functions work
par_pdksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_pdksh_underscore aliases in functions work
par_pdksh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_pdksh_underscore /bin/pdksh: myfunc: not found
par_pdksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
par_pdksh_underscore /bin/pdksh: myfunc: not found
par_pdksh_underscore OK if no myfunc ^^^^^^^^^^^^^^^^^
par_tcsh_funky
par_tcsh_funky
par_tcsh_funky
par_tcsh_funky 3 arg alias_works
par_tcsh_funky
par_tcsh_funky myvar works
par_tcsh_funky space special chars problem
par_tcsh_funky Funky-  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭-funky alias_var_works
par_tcsh_funky func_echo: Command not found.
par_tcsh_funky 3 arg alias_works_over_ssh
par_tcsh_funky
par_tcsh_funky Funky-  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A>-funky alias_var_works
par_tcsh_funky Funky-  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A>-funky alias_var_works_over_ssh
par_tcsh_funky \\\\\\\\ \ \ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€乗俓僜刓匼哱嘰圽塡奬媆孿峔嶾廫怽慭抃揬擻昞朶梊榎橽歕沑淺漒瀄焅燶<E78485><E787B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>猏玕琝璡甛痋癨盶瞈砛碶礬禱穃竆筡篭籠糪絓綷縗繺羂耚肻腬臷芢荺萛蒤蔦薥蘚蚛蝄蟎衆裓襖覾診誠謀譢豛賊赲踈躙輁轡運郳醆鈂鉢鋅錦鎈鏫鑌閈闬隲靄韁頫颸餦馶騖骪鬨鮘鯸鱘鳿鵟<E9B3BF>
par_tcsh_funky func_echo: Command not found.
par_tcsh_funky func_echo: Command not found.
par_tcsh_funky myvar works
par_tcsh_funky myvar works
par_tcsh_funky space special chars problem
par_tcsh_funky Funky-  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭-funky alias_var_works_over_ssh
par_tcsh_funky func_echo: Command not found.
par_tcsh_funky
par_tcsh_funky \\\\\\\\ \ \ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䪤Ě声蹾胬𨜏㙡笋蕚𪀔髢𦰡脪𠗫𦖭䓀珢娫糭䨵鞸㘘𩄼疱髿癧α么功吒吭沔坼歿俞枯苒娉珮豹崤淚許廄琵跚愧稞鈾暝蓋墦穀閱璞餐縷擺黠孀髏躡ふж尐佢汻岤狖垥柦胐娖涂罡偅惝牾莍傜揊焮茻鄃幋滜綅赨塿槙箤踊嫹潿蔌醆嬞獦螏餤燡螰駹礒鎪瀙酀瀵騱酅贕鱋鱭<E9B18B>
par_tcsh_funky space special chars problem
par_tcsh_man ### tcsh
par_tcsh_man ### From man env_parallel
par_tcsh_man #: Command not found.
@ -402,25 +339,25 @@ par_tcsh_underscore OK ^^^^^^^^^^^^^^^^^ if no myecho
par_tcsh_underscore myecho: Command not found.
par_tcsh_underscore OK ^^^^^^^^^^^^^^^^^ if no myecho
par_tcsh_underscore Connection to lo closed.
par_zsh_funky 3 arg alias_works
par_zsh_funky function_works
par_zsh_funky myvar works
par_zsh_funky space 6
par_zsh_funky assoc_val_a
par_zsh_funky Funky-
par_zsh_funky 
par_zsh_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
par_zsh_funky 3 arg alias_works_over_ssh
par_zsh_funky function_works_over_ssh
par_zsh_funky myvar works
par_zsh_funky space 6
par_zsh_funky assoc_val_a
par_zsh_funky Funky-
par_zsh_funky 
par_zsh_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
par_zsh_funky
par_zsh_funky \\\\\\\\
par_zsh_funky 
par_zsh_funky 
par_zsh_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funky
par_zsh_funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funky
par_zsh_funky space 6
par_zsh_funky space 6
par_zsh_funky 3 arg alias_works
par_zsh_funky 3 arg alias_works_over_ssh
par_zsh_funky Funky-
par_zsh_funky Funky-
par_zsh_funky \ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
par_zsh_funky assoc_val_a
par_zsh_funky assoc_val_a
par_zsh_funky function_works
par_zsh_funky function_works_over_ssh
par_zsh_funky myvar works
par_zsh_funky myvar works
par_zsh_man ### zsh
par_zsh_man ### From man env_parallel
par_zsh_man aliases work

View file

@ -1,39 +1,41 @@
### Test stdin goes to first command only ("cat" as argument)
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
To silence the citation notice: run 'parallel --citation'.
echo a
a
echo a
cat
via pseudotty
cat
via pseudotty
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
To silence the citation notice: run 'parallel --citation'.
echo a
a
echo a
cat
via pseudotty
cat
### Test stdin as tty input for 'vi'
NB: If this changes and the diff is printed to terminal, then
the terminal settings may be fucked up. Use 'reset' to get back.
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
To silence the citation notice: run 'parallel --citation'.
10 files to edit
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"file1" [New File]~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?12l[?25h[?25lE173: 9 more files to edit[?12l[?25h[?1l>[?1049lAcademic tradition requires you to cite works you base your article on.
ZZZZ
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
To silence the citation notice: run 'parallel --citation'.
10 files to edit
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"file1" [New File]~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?12l[?25h[?25lE173: 9 more files to edit[?12l[?25h[?1l>[?1049lAcademic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:

View file

@ -32,6 +32,8 @@ rld
echo '### -E_ -0 echo < eof_-0.xi'
### -E_ -0 echo < eof_-0.xi
stdout xargs -E_ -0 echo < eof_-0.xi
xargs: warning: the -E option has no effect if -0 or -d is used.
one two _ three four
stdout parallel -X -k -E_ -0 echo < eof_-0.xi
one
@ -82,12 +84,12 @@ n
y
echo '### -i -s26 -0 echo from \{\} to x{}y < items-0.xi'
### -i -s26 -0 echo from \{\} to x{}y < items-0.xi
stdout xargs -i -s26 -0 echo from \{\} to x{}y < items-0.xi
xargs: argument list too long
stdsort xargs -i -s26 -0 echo from \{\} to x{}y < items-0.xi
from one to xoney
stdout parallel -k -i -s26 -0 echo from \{\} to x{}y < items-0.xi
parallel: Error: Command line too long (42 >= 26) at input 0:
xargs: argument list too long
stdsort parallel -k -i -s26 -0 echo from \{\} to x{}y < items-0.xi
parallel: Error: Command line too long (42 >= 26) at input 0:
echo '### -l -0 echo < ldata-0.xi'
### -l -0 echo < ldata-0.xi
stdout xargs -l -0 echo < ldata-0.xi
@ -1089,20 +1091,20 @@ stdout parallel -k -L2 echo < ldata.xi
999999999
echo '### echo < unmatched2.xi'
### echo < unmatched2.xi
stdout xargs echo < unmatched2.xi
stdsort xargs echo < unmatched2.xi
one
xargs: unmatched double quote; by default quotes are special to xargs unless you use the -0 option
one
stdout parallel -k echo < unmatched2.xi
one
stdsort parallel -k echo < unmatched2.xi
"two
one
echo '### echo < unmatched.xi'
### echo < unmatched.xi
stdout xargs echo < unmatched.xi
stdsort xargs echo < unmatched.xi
one
xargs: unmatched double quote; by default quotes are special to xargs unless you use the -0 option
one
stdout parallel -k echo < unmatched.xi
one
stdsort parallel -k echo < unmatched.xi
"two
one
three
echo '### -n2 -x echo < unmatched.xi'
### -n2 -x echo < unmatched.xi
@ -1206,10 +1208,10 @@ from: can't read /var/mail/{}
from: can't read /var/mail/{}
echo '### -i -s26 echo from \{\} to x{}y < items.xi'
### -i -s26 echo from \{\} to x{}y < items.xi
stdout xargs -i -s26 echo from \{\} to x{}y < items.xi
xargs: argument list too long
stdsort xargs -i -s26 echo from \{\} to x{}y < items.xi
from dumb to xdumby
stdout parallel -k -i -s26 echo from \{\} to x{}y < items.xi
xargs: argument list too long
stdsort parallel -k -i -s26 echo from \{\} to x{}y < items.xi
parallel: Error: Command line too long (36 >= 26) at input 0:
echo '### -i__ echo FIRST __ IS OK < quotes.xi'
### -i__ echo FIRST __ IS OK < quotes.xi

View file

@ -345,7 +345,7 @@ bug #34241: --pipe should not spawn unneeded processes - part 2
seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files wc >/dev/null; ls *.par | wc -l; rm *.par; seq 500 | parallel --tmpdir . -j10 --pipe --block 1k --files --dry-run wc >/dev/null; echo No .par should exist; stdout ls *.par
2
No .par should exist
ls: cannot access *.par: No such file or directory
ls: cannot access '*.par': No such file or directory
echo "bug: --gnu was ignored if env var started with space: PARALLEL=' --gnu'"
bug: --gnu was ignored if env var started with space: PARALLEL=' --gnu'
export PARALLEL=" -v" && parallel echo ::: 'space in envvar OK'

View file

@ -88,7 +88,7 @@ echo '### bug #42902: profiles containing arguments with space'
echo /bin/bash\=/bin/bash
/bin/bash=/bin/bash
PARALLEL="--rpl 'FULLPATH chomp(\$_=\"/bin/bash=\".\`readlink -f \$_\`);' perl -e \'print \\\"@ARGV\\\n\\\"\' " parallel With script in \\\$PARALLEL FULLPATH ::: .
With script in $PARALLEL /bin/bash=/home/tange/privat/parallel/testsuite
With script in $PARALLEL /bin/bash=/mnt/4tb/home/tange/privat/parallel/testsuite
echo '### bug #42892: parallel -a nonexiting --pipepart'
### bug #42892: parallel -a nonexiting --pipepart
parallel --pipepart -a nonexisting wc
@ -97,7 +97,7 @@ echo '### bug #42913: Dont use $SHELL but the shell currently running'
### bug #42913: Dont use $SHELL but the shell currently running
echo '## Unknown shell => $SHELL (bash)'
## Unknown shell => $SHELL (bash)
parallel -kj1 "cp \`which {}\` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;" ::: ash bash csh dash fish fizsh ksh ksh93 mksh pdksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh; rm -f /tmp/SHELL /tmp/par*.par
parallel -kj1 "cp \`which {}\` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;" ::: ash bash csh dash fish fizsh ksh ksh93 mksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh; rm -f /tmp/SHELL /tmp/par*.par
shell? /bin/bash -c cp `which ash` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
which bash => shell path /bin/bash
shell? /bin/bash -c cp `which bash` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
@ -115,8 +115,6 @@ shell? /bin/bash -c cp `which ksh93` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit
which bash => shell path /bin/bash
shell? /bin/bash -c cp `which mksh` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
which bash => shell path /bin/bash
shell? /bin/bash -c cp `which pdksh` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
which bash => shell path /bin/bash
shell? /bin/bash -c cp `which posh` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
which bash => shell path /bin/bash
shell? /bin/bash -c cp `which rbash` /tmp/SHELL; /tmp/SHELL -c 'parallel -Dinit echo ::: 1' | grep which;
@ -138,7 +136,7 @@ Contact the systems administrator for further assistance.
SHELL: applet not found
echo '## Known shells -c'
## Known shells -c
parallel -k "\`which {}\` -c 'parallel -Dinit echo ::: 1' | grep which;" ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh pdksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh; rm -f /tmp/par*.par
parallel -k "\`which {}\` -c 'parallel -Dinit echo ::: 1' | grep which;" ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh; rm -f /tmp/par*.par
which ash => shell path /bin/ash
shell? /bin/bash -c `which bash` -c 'parallel -Dinit echo ::: 1' | grep which;
which bash => shell path /bin/bash
@ -153,8 +151,6 @@ shell? /bin/bash -c `which ksh93` -c 'parallel -Dinit echo ::: 1' | grep which;
which bash => shell path /bin/bash
shell? /bin/bash -c `which mksh` -c 'parallel -Dinit echo ::: 1' | grep which;
which bash => shell path /bin/bash
shell? /bin/bash -c `which pdksh` -c 'parallel -Dinit echo ::: 1' | grep which;
which bash => shell path /bin/bash
which posh => shell path /bin/posh
shell? /bin/bash -c `which rbash` -c 'parallel -Dinit echo ::: 1' | grep which;
which bash => shell path /bin/bash
@ -172,7 +168,7 @@ Local configuration error occurred.
Contact the systems administrator for further assistance.
echo '## Known shells |'
## Known shells |
parallel -k "echo 'parallel -Dinit echo ::: 1' | \`which {}\` | grep which;" ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh pdksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh; rm -f /tmp/par*.par
parallel -k "echo 'parallel -Dinit echo ::: 1' | \`which {}\` | grep which;" ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh; rm -f /tmp/par*.par
which ash => shell path /bin/ash
which bash => shell path /bin/bash
which csh => shell path /bin/csh
@ -183,7 +179,6 @@ which zsh => shell path /usr/bin/zsh
which ksh => shell path /usr/bin/ksh
which ksh93 => shell path /bin/ksh93
which mksh => shell path /bin/mksh
which pdksh => shell path /bin/pdksh
which posh => shell path /bin/posh
which rbash => shell path /bin/rbash
which rzsh => shell path /bin/rzsh
@ -354,5 +349,5 @@ Send Receive Exitval
Send Receive Exitval
echo '### --tmux test - check termination'
### --tmux test - check termination
perl -e 'map {printf "$_%o%c\n",$_,$_}1..255' | stdout parallel --tmux echo {} :::: - ::: a b | perl -pe 's:(/tmp\S+/tms).....:$1XXXXX:;'
perl -e 'map {printf "$_%o%c\n",$_,$_}1..255' | stdout parallel --tmux 'sleep 0.2;echo {}' :::: - ::: a b | perl -pe 's:(/tmp\S+/tms).....:$1XXXXX:;'
See output with: tmux -S /tmp/parallel-local22-tmpdir/tmsXXXXX attach

View file

@ -52,24 +52,12 @@ echo '### test round-robin'; nice seq 1000 | $NICEPAR -j4 --block 1k --pipe --
277 277 1000
echo '### bug #43600: --pipe --linebuffer --round does not work'
### bug #43600: --pipe --linebuffer --round does not work
seq 10000000000 | parallel --pipe --linebuffer --round cat | head
1
2
3
4
5
6
7
8
9
seq 10000000000 | parallel --pipe --linebuffer --round cat | head | wc -l
10
echo '### Check that 4 processes are really used'
### Check that 4 processes are really used
seq 1000000 | parallel -j4 --pipe --round --line-buf wc |sort
149796 149796 1048572
235148 235148 1646037
299592 299592 2097144
315464 315464 2097143
seq 1000000 | parallel -j4 --pipe --round --line-buf wc | wc -l
4
echo '### --version must have higher priority than retired options'
### --version must have higher priority than retired options
$NICEPAR --version -g -Y -U -W -T | tail

View file

@ -1,17 +1,15 @@
bug #46120: Suspend should suspend (at least local) children
2048 0a:c0:70:5b:ec:f6:c2:de:67:c3:53:7f:29:81:65:54 tange@hk (RSA1)
1024 93:d1:21:c5:ff:e3:c3:be:6d:73:ea:aa:1e:a2:dc:06 /home/tange/.ssh/id_dsa (DSA)
8192 e1:95:e3:ff:99:a6:3a:b5:53:5a:54:59:d0:72:94:7f /home/tange/.ssh/id_rsa (RSA)
4096 94:2a:e3:cb:6b:66:63:21:13:51:8d:e8:4e:09:49:b2 /home/tange/.ssh/id_rsa_openindiana (RSA)
1024 SHA256:SXgag2Z2L91JsrT5WjNBcARD1EpyCCj4JctVJ6Zpzm0 /mnt/4tb/home/tange/.ssh/id_dsa (DSA)
8192 SHA256:lYn04AefJq/5r0e4FftceviJ7JVnq9NGKY3CW9XMpO8 /mnt/4tb/home/tange/.ssh/id_rsa (RSA)
4096 SHA256:jUQ9ysfprs7UOckttjjVb+j3qikUmKWDEWC+eEJkbDQ /mnt/4tb/home/tange/.ssh/id_rsa_openindiana (RSA)
stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 burnP6 ::: 1 | grep --colour=auto -q CPUTIME=1
stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 burnP6 ::: 1 | grep -q CPUTIME=1
Zero=OK 0
2048 0a:c0:70:5b:ec:f6:c2:de:67:c3:53:7f:29:81:65:54 tange@hk (RSA1)
1024 93:d1:21:c5:ff:e3:c3:be:6d:73:ea:aa:1e:a2:dc:06 /home/tange/.ssh/id_dsa (DSA)
8192 e1:95:e3:ff:99:a6:3a:b5:53:5a:54:59:d0:72:94:7f /home/tange/.ssh/id_rsa (RSA)
4096 94:2a:e3:cb:6b:66:63:21:13:51:8d:e8:4e:09:49:b2 /home/tange/.ssh/id_rsa_openindiana (RSA)
1024 SHA256:SXgag2Z2L91JsrT5WjNBcARD1EpyCCj4JctVJ6Zpzm0 /mnt/4tb/home/tange/.ssh/id_dsa (DSA)
8192 SHA256:lYn04AefJq/5r0e4FftceviJ7JVnq9NGKY3CW9XMpO8 /mnt/4tb/home/tange/.ssh/id_rsa (RSA)
4096 SHA256:jUQ9ysfprs7UOckttjjVb+j3qikUmKWDEWC+eEJkbDQ /mnt/4tb/home/tange/.ssh/id_rsa_openindiana (RSA)
echo 1 | stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 burnP6 | grep --colour=auto -q CPUTIME=1
echo 1 | stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 burnP6 | grep -q CPUTIME=1
Zero=OK 0
echo '### -L -n with pipe'
### -L -n with pipe

View file

@ -1,6 +1,6 @@
echo 'bug #41412: --timeout + --delay causes deadlock';
bug #41412: --timeout + --delay causes deadlock
seq 10 | parallel -j10 --timeout 1 --delay .3 echo;
seq 10 | parallel -j10 --timeout 1 --delay 0.3 echo;
1
2
3

View file

@ -138,7 +138,7 @@ num8
num_%header
tsv-file.tsv
foo
/home/tange/privat/parallel/testsuite/tmp
/mnt/4tb/home/tange/privat/parallel/testsuite/tmp
my_func() {
echo in my_func $1
}
@ -516,7 +516,8 @@ Computers / CPU cores / Max jobs to run
Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
seq 1000 | parallel -j10 --bar '(echo -n {};sleep 0.1)' 2> >(zenity --timeout=15 --progress --auto-kill --auto-close)
BASE64 parallel --joblog /tmp/log exit ::: 1 2 3 0
BASE64-Message: GtkDialog mapped without a transient parent. This is discouraged.
parallel --joblog /tmp/log exit ::: 1 2 3 0
cat /tmp/log;
parallel --joblog /tmp/log exit ::: 1 2 3 0
cat /tmp/log; parallel --resume --joblog /tmp/log exit ::: 1 2 3 0 0 0
@ -675,9 +676,9 @@ foo
parallel -S $SERVER1 pwd ::: ""
parallel --workdir . -S $SERVER1 pwd ::: ""
parallel --workdir ... -S $SERVER1 pwd ::: ""
/home/parallel
/home/parallel/privat/parallel/testsuite/tmp
/home/parallel/.TMPWORKDIR
/mnt/4tb/home/parallel
BASE64
/mnt/4tb/home/parallel/.TMPWORKDIR
parallel -S $SERVER1 --sshdelay 0.2 echo ::: 1 2 3
9
9
@ -708,34 +709,34 @@ Unknown option: :::
Unknown option: green
env_parallel only works if it is a function. Do the below and restart your shell.
bash: Put this in /home/tange/.bashrc: . /usr/local/bin/env_parallel.bash
E.g. by doing: echo '. /usr/local/bin/env_parallel.bash' >> /home/tange/.bashrc
bash: Put this in /mnt/4tb/home/tange/.bashrc: . /usr/local/bin/env_parallel.bash
E.g. by doing: echo '. /usr/local/bin/env_parallel.bash' >> /mnt/4tb/home/tange/.bashrc
Supports: aliases, functions, variables, arrays
zsh: Put this in /home/tange/.zshrc: . /usr/local/bin/env_parallel.zsh
E.g. by doing: echo '. /usr/local/bin/env_parallel.zsh' >> /home/tange/.zshenv
zsh: Put this in /mnt/4tb/home/tange/.zshrc: . /usr/local/bin/env_parallel.zsh
E.g. by doing: echo '. /usr/local/bin/env_parallel.zsh' >> /mnt/4tb/home/tange/.zshenv
Supports: functions, variables, arrays
fish: Put this in /home/tange/.config/fish/config.fish:
fish: Put this in /mnt/4tb/home/tange/.config/fish/config.fish:
. (which env_parallel.fish)
E.g. by doing:
echo '. (which env_parallel.fish)' >> /home/tange/.config/fish/config.fish
echo '. (which env_parallel.fish)' >> /mnt/4tb/home/tange/.config/fish/config.fish
Supports: aliases, functions, variables, arrays
ksh: Put this in /home/tange/.kshrc: source /usr/local/bin/env_parallel.ksh
E.g. by doing: echo 'source /usr/local/bin/env_parallel.ksh' >> /home/tange/.kshrc
ksh: Put this in /mnt/4tb/home/tange/.kshrc: source /usr/local/bin/env_parallel.ksh
E.g. by doing: echo 'source /usr/local/bin/env_parallel.ksh' >> /mnt/4tb/home/tange/.kshrc
Supports: aliases, functions, variables, arrays
pdksh: Put this in /home/tange/.profile: source /usr/local/bin/env_parallel.pdksh
E.g. by doing: echo '. /usr/local/bin/env_parallel.pdksh' >> /home/tange/.profile
pdksh: Put this in /mnt/4tb/home/tange/.profile: source /usr/local/bin/env_parallel.pdksh
E.g. by doing: echo '. /usr/local/bin/env_parallel.pdksh' >> /mnt/4tb/home/tange/.profile
Supports: aliases, functions, variables, arrays
csh: Put this in /home/tange/.cshrc: source /usr/local/bin/env_parallel.csh
E.g. by doing: echo 'source /usr/local/bin/env_parallel.csh' >> /home/tange/.cshrc
csh: Put this in /mnt/4tb/home/tange/.cshrc: source /usr/local/bin/env_parallel.csh
E.g. by doing: echo 'source /usr/local/bin/env_parallel.csh' >> /mnt/4tb/home/tange/.cshrc
Supports: aliases, variables, arrays with no special chars
tcsh: Put this in /home/tange/.tcshrc: source /usr/local/bin/env_parallel.tcsh
E.g. by doing: echo 'source /usr/local/bin/env_parallel.tcsh' >> /home/tange/.tcshrc
tcsh: Put this in /mnt/4tb/home/tange/.tcshrc: source /usr/local/bin/env_parallel.tcsh
E.g. by doing: echo 'source /usr/local/bin/env_parallel.tcsh' >> /mnt/4tb/home/tange/.tcshrc
Supports: aliases, variables, arrays with no special chars
To install in all shells run:
@ -757,7 +758,6 @@ in my_func baz
parallel --record-env
cat ~/.parallel/ignored_vars|sort
BASH_FUNC_run_test%%
CLUTTER_IM_MODULE
COLORFGBG
DBUS_SESSION_BUS_ADDRESS
DEBEMAIL
@ -765,27 +765,25 @@ DEBFULLNAME
DEFAULTS_PATH
DESKTOP_SESSION
DISPLAY
DM_CONTROL
GLADE_CATALOG_PATH
GLADE_MODULE_PATH
GLADE_PIXMAP_PATH
GNOME_KEYRING_CONTROL
GNOME_KEYRING_PID
GPG_AGENT_INFO
GTK_IM_MODULE
GS_LIB
GTK2_RC_FILES
GTK_RC_FILES
HISTCONTROL
HOME
IM_CONFIG_PHASE
INSTANCE
JAVA_HOME
JDK_HOME
JOB
KDE_FULL_SESSION
KDE_MULTIHEAD
KDE_SESSION_UID
KDE_SESSION_VERSION
KONSOLE_DBUS_SERVICE
KONSOLE_DBUS_SESSION
KONSOLE_DBUS_WINDOW
KONSOLE_PROFILE_NAME
LANG
LANGUAGE
LC_TIME
LESS
LESSCLOSE
LESSOPEN
@ -793,6 +791,8 @@ LOGNAME
LS_COLORS
MAKEFLAGS
MAKELEVEL
MAKE_TERMERR
MAKE_TERMOUT
MANDATORY_PATH
MFLAGS
MOZ_NO_REMOTE
@ -807,13 +807,11 @@ PERL_MB_OPT
PERL_MM_OPT
PROFILEHOME
PWD
QT4_IM_MODULE
QT_ACCESSIBILITY
QT_IM_MODULE
SELINUX_INIT
QT_LINUX_ACCESSIBILITY_ALWAYS_ON
SERVER1
SERVER2
SESSION
SESSIONTYPE
SESSION_MANAGER
SHELL
SHELL_SESSION_ID
@ -821,29 +819,27 @@ SHLVL
SSH_AGENT_PID
SSH_AUTH_SOCK
TERM
TEXTDOMAIN
TEXTDOMAINDIR
TIMEOUT
TMPDIR
TRIES
UPSTART_EVENTS
UPSTART_INSTANCE
UPSTART_JOB
UPSTART_SESSION
USER
VISUAL
WINDOWID
WINDOWPATH
XAUTHORITY
XCURSOR_SIZE
XCURSOR_THEME
XDG_CONFIG_DIRS
XDG_CURRENT_DESKTOP
XDG_DATA_DIRS
XDG_MENU_PREFIX
XDG_RUNTIME_DIR
XDG_SEAT
XDG_SEAT_PATH
XDG_SESSION_CLASS
XDG_SESSION_DESKTOP
XDG_SESSION_ID
XDG_SESSION_PATH
XDG_SESSION_TYPE
XDG_VTNR
XDM_MANAGED
XMODIFIERS
_
# The function is only copied if using Bash
my_func2() {
@ -863,7 +859,7 @@ _
}
export -f my_func3
parallel -vv --workdir ... --nice 17 --env _ --trc {}.out -S $SERVER1 my_func3 {} ::: abc-file
( ssh -l parallel lo -- mkdir -p ./.TMPWORKDIR;rsync --protocol 30 -rlDzR -essh\ -l\ parallel ./abc-file lo:./.TMPWORKDIR );ssh -l parallel lo -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;my\\\(\\\$in,\\\$out,\\\$eval\\\)\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; BASE64;_EXIT_status=$?; mkdir -p ./.; rsync --protocol 30 --rsync-path=cd\ ./.TMPWORKDIR/./.\;\ rsync -rlDzR -essh\ -l\ parallel lo:./abc-file.out ./.;ssh -l parallel lo -- \(rm\ -f\ ./.TMPWORKDIR/abc-file\;\ sh\ -c\ rmdir\\\ ./.TMPWORKDIR/\\\ ./.parallel/tmp/\\\ ./.parallel/\\\ 2\\\>/dev/null\\\;rm\\\ -rf\\\ ./.TMPWORKDIR\\\;\);ssh -l parallel lo -- \(rm\ -f\ ./.TMPWORKDIR/abc-file.out\;\ sh\ -c\ rmdir\\\ ./.TMPWORKDIR/\\\ ./.parallel/tmp/\\\ ./.parallel/\\\ 2\\\>/dev/null\\\;rm\\\ -rf\\\ ./.TMPWORKDIR\\\;\);ssh -l parallel lo -- rm -rf .TMPWORKDIR; exit $_EXIT_status;
ssh -l parallel lo -- mkdir -p ./.TMPWORKDIR && rsync --protocol 30 -rlDzR -essh\ -l\ parallel ./abc-file lo:./.TMPWORKDIR;ssh -l parallel lo -- exec perl -e @GNU_Parallel\\\=split/_/,\\\"use_IPC::Open3\\\;_use_MIME::Base64\\\"\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; BASE64;_EXIT_status=$?; mkdir -p ./. && rsync --protocol 30 --rsync-path=cd\ ./.TMPWORKDIR/./.\;\ rsync -rlDzR -essh\ -l\ parallel lo:./abc-file.out ./.;ssh -l parallel lo -- rm\ -f\ ./.TMPWORKDIR/abc-file\;\ sh\ -c\ rmdir\\\ ./.TMPWORKDIR/\\\ ./.parallel/tmp/\\\ ./.parallel/\\\ 2\\\>/dev/null\\\;rm\\\ -rf\\\ ./.TMPWORKDIR\\\;;ssh -l parallel lo -- rm\ -f\ ./.TMPWORKDIR/abc-file.out\;\ sh\ -c\ rmdir\\\ ./.TMPWORKDIR/\\\ ./.parallel/tmp/\\\ ./.parallel/\\\ 2\\\>/dev/null\\\;rm\\\ -rf\\\ ./.TMPWORKDIR\\\;;ssh -l parallel lo -- rm -rf .TMPWORKDIR; exit $_EXIT_status;
parallel --sqlandworker csv:////%2Ftmp%2Flog.csv seq ::: 10 ::: 12 13 14
cat /tmp/log.csv
99
@ -1082,21 +1078,21 @@ JOB4
/bin/bash: line 1: foo: command not found
#!/usr/bin/perl
print "@ARGV\n"
Warning: unknown mime-type for "@ARGV\n" -- using "application/octet-stream"
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /usr/bin/print line 528.
Error: no such file "@ARGV\n"
parallel perl_echo ::: foo bar
/bin/bash: perl_echo: command not found
/bin/bash: perl_echo: command not found
#!/usr/bin/parallel --shebang-wrap /usr/bin/perl
print "@ARGV\n"
Warning: unknown mime-type for "@ARGV\n" -- using "application/octet-stream"
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /usr/bin/print line 528.
Error: no such file "@ARGV\n"
perl_echo foo bar
/bin/bash: perl_echo: command not found
#!/usr/bin/parallel --shebang-wrap /usr/bin/perl
print "Arguments @ARGV\n";
Warning: unknown mime-type for "Arguments @ARGV\n" -- using "application/octet-stream"
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /usr/bin/print line 528.
Error: no such file "Arguments @ARGV\n"
#!/usr/bin/parallel --shebang-wrap /usr/bin/python
@ -1131,7 +1127,7 @@ Arguments
print "Arguments "
puts ARGV
Warning: unknown mime-type for "Arguments " -- using "application/octet-stream"
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /usr/bin/print line 528.
Error: no such file "Arguments "
/bin/bash: line 3: puts: command not found
#!/usr/bin/parallel --shebang-wrap /usr/bin/octave

View file

@ -1,53 +1,79 @@
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
### Test of #! -Y with file as input
mysql: [Warning] Using a password on the command line interface can be insecure.
Testing if -Y works
Yes it does
### Test of #! --shebang with file as input
mysql: [Warning] Using a password on the command line interface can be insecure.
Testing if --shebang works
Yes it does
### Test reading sql on command line
mysql: [Warning] Using a password on the command line interface can be insecure.
Test reading SQL from command line
Yes it does
### Test reading sql from file
mysql: [Warning] Using a password on the command line interface can be insecure.
Test reading SQL from file works
Yes it does
### Test dburl with username password host port
mysql: [Warning] Using a password on the command line interface can be insecure.
Test reading SQL from file works
Yes it does
### Test .sql/aliases
mysql: [Warning] Using a password on the command line interface can be insecure.
Test if .sql/aliases works
Yes it does
### Test sql:sql::alias
mysql: [Warning] Using a password on the command line interface can be insecure.
Test sql:sql::alias
Yes it works
### Test --noheaders --no-headers -n
mysql: [Warning] Using a password on the command line interface can be insecure.
abc 1
def 3
mysql: [Warning] Using a password on the command line interface can be insecure.
abc 1
def 3
mysql: [Warning] Using a password on the command line interface can be insecure.
abc 1
def 3
### Test --sep -s
2 1
2 1
### Test --passthrough -p
mysql: [Warning] Using a password on the command line interface can be insecure.
<TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE>
mysql: [Warning] Using a password on the command line interface can be insecure.
<TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE>
### Test --html
mysql: [Warning] Using a password on the command line interface can be insecure.
<TABLE BORDER=1><TR><TH>id</TH><TH>data</TH></TR><TR><TD>1</TD><TD>abc</TD></TR><TR><TD>3</TD><TD>def</TD></TR></TABLE>
### Test --show-processlist|proclist|listproc
mysql: [Warning] Using a password on the command line interface can be insecure.
2 17
mysql: [Warning] Using a password on the command line interface can be insecure.
2 17
mysql: [Warning] Using a password on the command line interface can be insecure.
2 17
### Test --db-size --dbsize
mysql: [Warning] Using a password on the command line interface can be insecure.
2 6 54
mysql: [Warning] Using a password on the command line interface can be insecure.
2 6 54
### Test --table-size --tablesize
42
42
mysql: [Warning] Using a password on the command line interface can be insecure.
63
mysql: [Warning] Using a password on the command line interface can be insecure.
63
### Test --debug
dburl mysql://sqlunittest:CB5A1FFFA5A@localhost:3306/sqlunittest
databasedriver mysql user sqlunittest password CB5A1FFFA5A host localhost port 3306 database sqlunittest query
mysql -C --host=localhost --user=sqlunittest --port=3306 --password=CB5A1FFFA5A sqlunittest
mysql: [Warning] Using a password on the command line interface can be insecure.
Test if --debug works
Yes it does
### Test --version -V

View file

@ -1,10 +1,18 @@
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
### Test reading sql from url command line
mysql: [Warning] Using a password on the command line interface can be insecure.
Test reading SQL from command line
Yes it works
### Test reading sql from url command line %-quoting
mysql: [Warning] Using a password on the command line interface can be insecure.
Test %-quoting SQL from command line
Yes it works
### Test .sql/aliases with url on commandline
mysql: [Warning] Using a password on the command line interface can be insecure.
Test if .sql/aliases with %-quoting works
Yes it works
### Test cyclic alias .sql/aliases
@ -14,6 +22,7 @@ Test statement in alias
It works
Test statement in alias
It works
mysql: [Warning] Using a password on the command line interface can be insecure.
Test statement in alias
It works
### Test alias followed by SQL as arg
@ -33,6 +42,7 @@ It works
Query added to alias
'Query from stdin'
Query from stdin
mysql: [Warning] Using a password on the command line interface can be insecure.
Test statement in alias
It works
Query added to alias
@ -46,7 +56,7 @@ Error:
sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
### Test dburl :
Error:
: is not defined in /home/tange/.sql/aliases /home/tange/.dburl.aliases /etc/sql/aliases /usr/local/bin/dburl.aliases /usr/local/bin/dburl.aliases.dist
: is not defined in /mnt/4tb/home/tange/.sql/aliases /mnt/4tb/home/tange/.dburl.aliases /etc/sql/aliases /usr/local/bin/dburl.aliases /usr/local/bin/dburl.aliases.dist
sql [-hnr] [--table-size] [--db-size] [-p pass-through] [-s string] dburl [command]
### Test oracle with multiple arguments on the command line
@ -76,3 +86,34 @@ arg3
----------
3
### Test --show-tables
OBJECT_NAME
--------------------------------------------------------------------------------------------------------------------------------
JOB_HISTORY
EMPLOYEES
JOBS
DEPARTMENTS
LOCATIONS
COUNTRIES
REGIONS
7 rows selected.
### Test --show-databases
TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS MAX_SIZE PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FOR EXTENT_MAN ALLOCATIO SEGMEN DEF_TAB_ RETENTION BIG PREDICA ENC COMPRESS_FOR
------------------------------ ---------- -------------- ----------- ----------- ----------- ---------- ------------ ---------- --------- --------- --------- --- ---------- --------- ------ -------- ----------- --- ------- --- ------------
SYSTEM 8192 65536 1 2147483645 2147483645 65536 ONLINE PERMANENT LOGGING NO LOCAL SYSTEM MANUAL DISABLED NOT APPLY NO HOST NO
SYSAUX 8192 65536 1 2147483645 2147483645 65536 ONLINE PERMANENT LOGGING NO LOCAL SYSTEM AUTO DISABLED NOT APPLY NO HOST NO
UNDOTBS1 8192 65536 1 2147483645 2147483645 65536 ONLINE UNDO LOGGING NO LOCAL SYSTEM MANUAL DISABLED NOGUARANTEE NO HOST NO
TEMP 8192 1048576 1048576 1 2147483645 0 1048576 ONLINE TEMPORARY NOLOGGING NO LOCAL UNIFORM MANUAL DISABLED NOT APPLY NO HOST NO
USERS 8192 65536 1 2147483645 2147483645 65536 ONLINE PERMANENT LOGGING NO LOCAL SYSTEM AUTO DISABLED NOT APPLY NO HOST NO
### Test --listproc
SELECT CPU_TIME/100000, SYS.V_$SQL.SQL_TEXT, USERNAME FROM SYS.V_$SQL, SYS.V_$SESSION WHERE SYS.V_$SQL.SQL_ID = SYS.V_$SESSION.SQL_ID(+) AND username IS NOT NULL ORDER BY CPU_TIME DESC
*
ERROR at line 1:
ORA-00942: table or view does not exist

View file

@ -46,18 +46,18 @@ xargs Expect: 3 1 2
1
2
parallel Expect: 3 1 via psedotty 2
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
To silence the citation notice: run 'parallel --citation'.
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
To silence the citation notice: run 'parallel --citation'.
3
1
via pseudotty
@ -67,17 +67,17 @@ xargs Expect: 1 3 2
3
2
parallel Expect: 1 3 2 via pseudotty
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
To silence the citation notice: run 'parallel --citation'.
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
To silence the citation notice: run 'parallel --citation'.
1
3

View file

@ -76,28 +76,28 @@ ls: tmp/parallel.file*: No such file or directory
OK
Input for ssh
-l parallel one-server -- mkdir -p ./.
-l parallel one-server rsync --server -lDrRze.iLs . ./.
-l parallel one-server -- exec perl -e @GNU_Parallel\=\(\"use\",\"IPC::Open3\;\",\"use\",\"MIME::Base64\"\)\;eval\"@GNU_Parallel\"\;\$SIG\{CHLD\}\=\"IGNORE\"\;my\$zip\=\(grep\{-x\$_\}\"/usr/local/bin/bzip2\"\)\[0\]\|\|\"bzip2\"\;my\(\$in,\$out,\$eval\)\;open3\(\$in,\$out,\"\>\&STDERR\",\$zip,\"-dc\"\)\;if\(my\$perlpid\=fork\)\{close\$in\;\$eval\=join\"\",\<\$out\>\;close\$out\;\}else\{close\$out\;print\$in\(decode_base64\(join\"\",@ARGV\)\)\;close\$in\;exit\;\}wait\;eval\$eval\; base64
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLs . ./parallel.file.'
-l parallel one-server rsync --server -lDrRze.iLsfx . ./.
-l parallel one-server -- exec perl -e @GNU_Parallel\=split/_/,\"use_IPC::Open3\;_use_MIME::Base64\"\;eval\"@GNU_Parallel\"\;\$SIG\{CHLD\}\=\"IGNORE\"\;my\$zip\=\(grep\{-x\$_\}\"/usr/local/bin/bzip2\"\)\[0\]\|\|\"bzip2\"\;open3\(\$in,\$out,\"\>\&STDERR\",\$zip,\"-dc\"\)\;if\(my\$perlpid\=fork\)\{close\$in\;\$eval\=join\"\",\<\$out\>\;close\$out\;\}else\{close\$out\;print\$in\(decode_base64\(join\"\",@ARGV\)\)\;close\$in\;exit\;\}wait\;eval\$eval\; base64
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfx . ./parallel.file.'
'newlineX.out
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLs . ./parallel.file.'
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfx . ./parallel.file.'
'newlineX.out2
-l parallel one-server -- (rm -f ./tmp/parallel.file.'
'newlineX; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;)
-l parallel one-server -- (rm -f ./tmp/parallel.file.'
'newlineX.out; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;)
-l parallel one-server -- (rm -f ./tmp/parallel.file.'
'newlineX.out2; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;)
-l parallel one-server -- rm -f ./tmp/parallel.file.'
'newlineX; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;
-l parallel one-server -- rm -f ./tmp/parallel.file.'
'newlineX.out; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;
-l parallel one-server -- rm -f ./tmp/parallel.file.'
'newlineX.out2; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;
-l parallel one-server -- mkdir -p ./.
-l parallel one-server rsync --server -lDrRze.iLs . ./.
-l parallel one-server -- exec perl -e @GNU_Parallel\=\(\"use\",\"IPC::Open3\;\",\"use\",\"MIME::Base64\"\)\;eval\"@GNU_Parallel\"\;\$SIG\{CHLD\}\=\"IGNORE\"\;my\$zip\=\(grep\{-x\$_\}\"/usr/local/bin/bzip2\"\)\[0\]\|\|\"bzip2\"\;my\(\$in,\$out,\$eval\)\;open3\(\$in,\$out,\"\>\&STDERR\",\$zip,\"-dc\"\)\;if\(my\$perlpid\=fork\)\{close\$in\;\$eval\=join\"\",\<\$out\>\;close\$out\;\}else\{close\$out\;print\$in\(decode_base64\(join\"\",@ARGV\)\)\;close\$in\;exit\;\}wait\;eval\$eval\; base64
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLs . ./parallel.file.'
-l parallel one-server rsync --server -lDrRze.iLsfx . ./.
-l parallel one-server -- exec perl -e @GNU_Parallel\=split/_/,\"use_IPC::Open3\;_use_MIME::Base64\"\;eval\"@GNU_Parallel\"\;\$SIG\{CHLD\}\=\"IGNORE\"\;my\$zip\=\(grep\{-x\$_\}\"/usr/local/bin/bzip2\"\)\[0\]\|\|\"bzip2\"\;open3\(\$in,\$out,\"\>\&STDERR\",\$zip,\"-dc\"\)\;if\(my\$perlpid\=fork\)\{close\$in\;\$eval\=join\"\",\<\$out\>\;close\$out\;\}else\{close\$out\;print\$in\(decode_base64\(join\"\",@ARGV\)\)\;close\$in\;exit\;\}wait\;eval\$eval\; base64
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfx . ./parallel.file.'
'newlineX.out
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLs . ./parallel.file.'
-l parallel one-server cd ././tmp; rsync --server --sender -lDrRze.iLsfx . ./parallel.file.'
'newlineX.out2
-l parallel one-server -- (rm -f ./tmp/parallel.file.'
'newlineX; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;)
-l parallel one-server -- (rm -f ./tmp/parallel.file.'
'newlineX.out; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;)
-l parallel one-server -- (rm -f ./tmp/parallel.file.'
'newlineX.out2; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;)
-l parallel one-server -- rm -f ./tmp/parallel.file.'
'newlineX; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;
-l parallel one-server -- rm -f ./tmp/parallel.file.'
'newlineX.out; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;
-l parallel one-server -- rm -f ./tmp/parallel.file.'
'newlineX.out2; sh -c rmdir\ ./tmp/\ ./\ 2\>/dev/null\;

View file

@ -1,13 +1,13 @@
echo '### Test --return of weirdly named file'
### Test --return of weirdly named file
stdout parallel --return {} -vv -S parallel\@parallel-server3 echo '>'{} ::: 'aa<${#}" b' | perl -pe 's/\S*parallel-server\S*/one-server/;s:[a-z+=/\\0-9]{500,}:base64:i;'; rm 'aa<${#}" b'
ssh -l parallel one-server -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;my\\\(\\\$in,\\\$out,\\\$eval\\\)\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;_EXIT_status=$?; mkdir -p ./.; rsync --protocol 30 --rsync-path=cd\ ././.\;\ rsync -rlDzR -essh\ -l\ parallel parallel-server3:./aa\\\<\\\$\\\{\\\#\\\}\\\"\\\ b ./.; exit $_EXIT_status;
ssh -l parallel one-server -- exec perl -e @GNU_Parallel\\\=split/_/,\\\"use_IPC::Open3\\\;_use_MIME::Base64\\\"\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;_EXIT_status=$?; mkdir -p ./. && rsync --protocol 30 --rsync-path=cd\ ././.\;\ rsync -rlDzR -essh\ -l\ parallel parallel-server3:./aa\\\<\\\$\\\{\\\#\\\}\\\"\\\ b ./.; exit $_EXIT_status;
echo '### Test if remote login shell is csh'
### Test if remote login shell is csh
stdout parallel -k -vv -S csh@localhost 'echo $PARALLEL_PID $PARALLEL_SEQ {}| wc -w' ::: a b c | perl -pe 's/\S*parallel-server\S*/one-server/;s:[a-z+=/\\0-9]{500,}:base64:i;'
ssh -l csh localhost -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;my\\\(\\\$in,\\\$out,\\\$eval\\\)\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;
ssh -l csh localhost -- exec perl -e @GNU_Parallel\\\=split/_/,\\\"use_IPC::Open3\\\;_use_MIME::Base64\\\"\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;
3
ssh -l csh localhost -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;my\\\(\\\$in,\\\$out,\\\$eval\\\)\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;
ssh -l csh localhost -- exec perl -e @GNU_Parallel\\\=split/_/,\\\"use_IPC::Open3\\\;_use_MIME::Base64\\\"\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;
3
ssh -l csh localhost -- exec perl -e @GNU_Parallel\\\=\\\(\\\"use\\\",\\\"IPC::Open3\\\;\\\",\\\"use\\\",\\\"MIME::Base64\\\"\\\)\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;my\\\(\\\$in,\\\$out,\\\$eval\\\)\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;
ssh -l csh localhost -- exec perl -e @GNU_Parallel\\\=split/_/,\\\"use_IPC::Open3\\\;_use_MIME::Base64\\\"\\\;eval\\\"@GNU_Parallel\\\"\\\;\\\$SIG\\\{CHLD\\\}\\\=\\\"IGNORE\\\"\\\;my\\\$zip\\\=\\\(grep\\\{-x\\\$_\\\}\\\"/usr/local/bin/bzip2\\\"\\\)\\\[0\\\]\\\|\\\|\\\"bzip2\\\"\\\;open3\\\(\\\$in,\\\$out,\\\"\\\>\\\&STDERR\\\",\\\$zip,\\\"-dc\\\"\\\)\\\;if\\\(my\\\$perlpid\\\=fork\\\)\\\{close\\\$in\\\;\\\$eval\\\=join\\\"\\\",\\\<\\\$out\\\>\\\;close\\\$out\\\;\\\}else\\\{close\\\$out\\\;print\\\$in\\\(decode_base64\\\(join\\\"\\\",@ARGV\\\)\\\)\\\;close\\\$in\\\;exit\\\;\\\}wait\\\;eval\\\$eval\\\; base64;
3