mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 05:57:54 +00:00
parallel: Check if PARALLEL_SHELL is in path.
env_parallel compatible with more unices.
This commit is contained in:
parent
b843ec7398
commit
da545d53ff
|
@ -199,9 +199,9 @@ to:parallel@gnu.org, bug-parallel@gnu.org
|
|||
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
||||
|
||||
|
||||
Subject: GNU Parallel 20171122 ('Mugabe') released <<[stable]>>
|
||||
Subject: GNU Parallel 20171222 ('Jerusalem/Agung/Bir al-Abed') released <<[stable]>>
|
||||
|
||||
GNU Parallel 20171122 ('Mugabe') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
||||
GNU Parallel 20171222 ('Jerusalem/Agung/Bir al-Abed') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
||||
|
||||
<<No new functionality was introduced so this is a good candidate for a stable release.>>
|
||||
|
||||
|
@ -211,8 +211,14 @@ Haiku of the month:
|
|||
New in this release:
|
||||
|
||||
parset for ksh, zsh,
|
||||
auto hostgroups with arg@sshlogin
|
||||
https://support.ehelp.edu.au/support/solutions/articles/6000089713-tips-for-running-jobs-on-your-vm#parallel
|
||||
https://mogonwiki.zdv.uni-mainz.de/dokuwiki/node_local_scheduling
|
||||
https://docs.computecanada.ca/wiki/GNU_Parallel
|
||||
https://qiita.com/inouet/items/bfc208668c86caf8ff74
|
||||
https://wiki.ncsa.illinois.edu/display/ROGER/Using+GNU+Parallel
|
||||
https://github.com/LangilleLab/microbiome_helper/wiki/Quick-Introduction-to-GNU-Parallel
|
||||
https://docs.computecanada.ca/wiki/GNU_Parallel
|
||||
|
||||
|
||||
<<Citation not OK: BAMClipper: removing primers from alignments to minimize false-negative mutations in amplicon next-generation sequencing https://www.nature.com/articles/s41598-017-01703-6>>
|
||||
|
|
|
@ -274,7 +274,7 @@ _parset_main() {
|
|||
# => $1 is the name of the array to put data into
|
||||
# Supported in: bash
|
||||
# Arrays do not work in: ash dash
|
||||
eval $_parset_name="( $( $_parset_parallel_prg --files -k "$@" |
|
||||
eval "$_parset_name=( $( $_parset_parallel_prg --files -k "$@" |
|
||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "' ) )"
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -58,10 +58,17 @@ env_parallel() {
|
|||
}
|
||||
_remove_bad_NAMES() {
|
||||
# Do not transfer vars and funcs from env_parallel
|
||||
# MacOS-grep does not like long patterns
|
||||
_remove_readonly() {
|
||||
_list_readonly() {
|
||||
readonly | perl -pe 's/^\S+\s+\S+\s+(\S[^=]*)=.*/$1/'
|
||||
}
|
||||
perl -e '$r=join("|",@ARGV); while(<STDIN>) {/$r/o or print}' `_list_readonly`
|
||||
}
|
||||
# Macos-grep does not like long patterns
|
||||
# Old Solaris grep does not support -E
|
||||
# so 'grep' is converted to 'perl'
|
||||
|
||||
# Perl version of:
|
||||
# Perl Version of:
|
||||
# grep -Ev '^(_names_of_ALIASES|_bodies_of_ALIASES|_names_of_maybe_FUNCTIONS|_names_of_FUNCTIONS|_bodies_of_FUNCTIONS|_names_of_VARIABLES|_bodies_of_VARIABLES|_remove_bad_NAMES|_prefix_PARALLEL_ENV)$' |
|
||||
# grep -Ev '^(_get_ignored_VARS|_make_grep_REGEXP|_ignore_UNDERSCORE|_alias_NAMES|_list_alias_BODIES|_function_NAMES|_list_function_BODIES|_variable_NAMES|_list_variable_VALUES|_prefix_PARALLEL_ENV|PARALLEL_TMP)$' |
|
||||
perl -ne '/^(_names_of_ALIASES|
|
||||
|
@ -72,6 +79,7 @@ env_parallel() {
|
|||
_names_of_VARIABLES|
|
||||
_bodies_of_VARIABLES|
|
||||
_remove_bad_NAMES|
|
||||
_remove_readonly|
|
||||
_prefix_PARALLEL_ENV|
|
||||
_get_ignored_VARS|
|
||||
_make_grep_REGEXP|
|
||||
|
@ -87,7 +95,7 @@ env_parallel() {
|
|||
# Filter names matching --env
|
||||
# perl version of: grep -E "^$_grep_REGEXP"\$ | grep -vE "^"\$ |
|
||||
perl -ne "/^$_grep_REGEXP"'$/ and not /^'"$_ignore_UNDERSCORE"'$/ and print' |
|
||||
grep -vFf <(readonly) |
|
||||
_remove_readonly |
|
||||
# perl version of: grep -Ev '^(BASHOPTS|BASHPID|EUID|GROUPS|FUNCNAME|DIRSTACK|_|PIPESTATUS|PPID|SHELLOPTS|UID|USERNAME|BASH_[A-Z_]+)$'
|
||||
perl -ne 'not /^(BASHOPTS|BASHPID|EUID|GROUPS|FUNCNAME|DIRSTACK|_|PIPESTATUS|PPID|SHELLOPTS|UID|USERNAME|BASH_[A-Z_]+)$/ and print'
|
||||
}
|
||||
|
@ -133,13 +141,28 @@ env_parallel() {
|
|||
print $vars ? "($vars)" : "(.*)";
|
||||
' -- "$@"
|
||||
}
|
||||
_which() {
|
||||
# type returns:
|
||||
# bash is a tracked alias for /bin/bash
|
||||
# true is a shell builtin
|
||||
# which is /usr/bin/which
|
||||
# which is hashed (/usr/bin/which)
|
||||
# aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
|
||||
# Return 0 if found, 1 otherwise
|
||||
type "$@" |
|
||||
perl -pe '$exit += (s/ is aliased to .*// ||
|
||||
s/ is a shell builtin// ||
|
||||
s/.* is hashed .(\S+).$/$1/ ||
|
||||
s/.* is (a tracked alias for )?//);
|
||||
END { exit not $exit }'
|
||||
}
|
||||
_warning() {
|
||||
echo "env_parallel: Warning: $@" >&2
|
||||
}
|
||||
|
||||
# Bash is broken in version 3.2.25 and 4.2.39
|
||||
# The crazy '[ "`...`" == "" ]' is needed for the same reason
|
||||
if [ "`which parallel`" == "" ]; then
|
||||
if [ "`_which parallel`" == "" ]; then
|
||||
echo 'env_parallel: Error: parallel must be in $PATH.' >&2
|
||||
return 255
|
||||
fi
|
||||
|
@ -190,7 +213,7 @@ env_parallel() {
|
|||
fi
|
||||
unset _variable_NAMES
|
||||
|
||||
_which_true="`which true`"
|
||||
_which_true="`_which true`"
|
||||
# Copy shopt (so e.g. extended globbing works)
|
||||
# But force expand_aliases as aliases otherwise do not work
|
||||
PARALLEL_ENV="`
|
||||
|
@ -206,8 +229,8 @@ env_parallel() {
|
|||
unset _grep_REGEXP
|
||||
unset _ignore_UNDERSCORE
|
||||
# Test if environment is too big
|
||||
if [ "`which true`" == "$_which_true" ] ; then
|
||||
`which parallel` "$@";
|
||||
if [ "`_which true`" == "$_which_true" ] ; then
|
||||
`_which parallel` "$@";
|
||||
_parallel_exit_CODE=$?
|
||||
unset PARALLEL_ENV;
|
||||
return $_parallel_exit_CODE
|
||||
|
@ -287,9 +310,9 @@ _parset_main() {
|
|||
else
|
||||
# $_parset_name does not contain , or space
|
||||
# => $_parset_name is the name of the array to put data into
|
||||
# Supported in: bash
|
||||
# Supported in: bash zsh ksh
|
||||
# Arrays do not work in: ash dash
|
||||
eval $_parset_name="( $( $_parset_parallel_prg --files -k "$@" |
|
||||
eval "$_parset_name=( $( $_parset_parallel_prg --files -k "$@" |
|
||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "' ) )"
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -274,7 +274,7 @@ _parset_main() {
|
|||
# => $1 is the name of the array to put data into
|
||||
# Supported in: bash
|
||||
# Arrays do not work in: ash dash
|
||||
eval $_parset_name="( $( $_parset_parallel_prg --files -k "$@" |
|
||||
eval "$_parset_name=( $( $_parset_parallel_prg --files -k "$@" |
|
||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "' ) )"
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -252,7 +252,7 @@ _parset_main() {
|
|||
# => $1 is the name of the array to put data into
|
||||
# Supported in: bash
|
||||
# Arrays do not work in: ash dash
|
||||
eval $_parset_name="( $( $_parset_parallel_prg --files -k "$@" |
|
||||
eval "$_parset_name=( $( $_parset_parallel_prg --files -k "$@" |
|
||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "' ) )"
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -264,8 +264,8 @@ _parset_main() {
|
|||
}
|
||||
exit $exitval;
|
||||
' || return 255
|
||||
if echo "$_parset_name" | grep -E ',| ' >/dev/null ; then
|
||||
# $1 contains , or space
|
||||
if perl -e 'exit not grep /,| /, @ARGV' "$_parset_name" ; then
|
||||
# $_parset_name contains , or space
|
||||
# Split on , or space to get the names
|
||||
eval "$(
|
||||
# Compute results into files
|
||||
|
@ -278,11 +278,11 @@ _parset_main() {
|
|||
)
|
||||
)"
|
||||
else
|
||||
# $1 contains no space or ,
|
||||
# => $1 is the name of the array to put data into
|
||||
# Supported in: bash
|
||||
# $_parset_name does not contain , or space
|
||||
# => $_parset_name is the name of the array to put data into
|
||||
# Supported in: bash zsh ksh
|
||||
# Arrays do not work in: ash dash
|
||||
eval $_parset_name="( $( $_parset_parallel_prg --files -k "$@" |
|
||||
eval "$_parset_name=( $( $_parset_parallel_prg --files -k "$@" |
|
||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "' ) )"
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -245,7 +245,7 @@ _parset_main() {
|
|||
# => $1 is the name of the array to put data into
|
||||
# Supported in: bash
|
||||
# Arrays do not work in: ash dash
|
||||
eval $_parset_name="( $( $_parset_parallel_prg --files -k "$@" |
|
||||
eval "$_parset_name=( $( $_parset_parallel_prg --files -k "$@" |
|
||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "' ) )"
|
||||
fi
|
||||
}
|
||||
|
|
10
src/parallel
10
src/parallel
|
@ -1110,6 +1110,10 @@ sub parse_options {
|
|||
$Global::debug = $opt::D;
|
||||
$Global::shell = $ENV{'PARALLEL_SHELL'} || parent_shell($$)
|
||||
|| $ENV{'SHELL'} || "/bin/sh";
|
||||
if(not which($Global::shell)) {
|
||||
::error("Shell '$Global::shell' not found.");
|
||||
wait_and_exit(255);
|
||||
}
|
||||
$Global::cshell = $Global::shell =~ m:/csh:;
|
||||
if(defined $opt::X) { $Global::ContextReplace = 1; }
|
||||
if(defined $opt::silent) { $Global::verbose = 0; }
|
||||
|
@ -4525,10 +4529,14 @@ sub which {
|
|||
# Returns:
|
||||
# @full_path = full paths to @programs. Nothing if not found
|
||||
my @which;
|
||||
::debug("which", "@_ in $ENV{'PATH'}");
|
||||
::debug("which", "@_ in $ENV{'PATH'}\n");
|
||||
for my $prg (@_) {
|
||||
push(@which, grep { not -d $_ and -x $_ }
|
||||
map { $_."/".$prg } split(":",$ENV{'PATH'}));
|
||||
if($prg =~ m:/:) {
|
||||
# Including path
|
||||
push(@which, grep { not -d $_ and -x $_ } $prg);
|
||||
}
|
||||
}
|
||||
return @which;
|
||||
}
|
||||
|
|
|
@ -104,8 +104,8 @@ splits on \n (newline) and passes a block of around 1 MB to each job.
|
|||
You have now learned the basic use of GNU B<parallel>. This will
|
||||
probably cover most cases of your use of GNU B<parallel>.
|
||||
|
||||
The rest of this document is simply to go into more details on each of
|
||||
the sections and cover special use cases.
|
||||
The rest of this document will go into more details on each of the
|
||||
sections and cover special use cases.
|
||||
|
||||
|
||||
=head1 Learn GNU Parallel in an hour
|
||||
|
@ -129,7 +129,7 @@ after B<-a> or B<::::>. So these all do the same:
|
|||
parallel -a seq6 -a seq-6 echo Dice1={1} Dice2={2}
|
||||
parallel -a seq6 echo Dice1={1} Dice2={2} :::: seq-6
|
||||
parallel echo Dice1={1} Dice2={2} ::: 1 2 3 4 5 6 :::: seq-6
|
||||
cat seq-6 | parallel echo Dice1={1} Dice2={2} :::: seq-6 -
|
||||
cat seq-6 | parallel echo Dice1={1} Dice2={2} :::: seq6 -
|
||||
|
||||
If stdin (standard input) is the only input source, you do not need the '-':
|
||||
|
||||
|
@ -165,22 +165,106 @@ GNU B<parallel> has some replacement strings to make it easier
|
|||
|
||||
=head2 Controlling the output
|
||||
|
||||
parset
|
||||
=head3 parset
|
||||
|
||||
B<parset> is a shell function to get the output from GNU B<parallel>
|
||||
into shell variables.
|
||||
|
||||
B<parset> is fully supported for B<Bash/Zsh/Ksh> and partially supported
|
||||
for B<ash/dash>. I will assume you run B<Bash>.
|
||||
|
||||
To activate B<parset> you have to run:
|
||||
|
||||
. `which env_parallel.bash`
|
||||
|
||||
(replace B<bash> with your shell's name).
|
||||
|
||||
Then you can run:
|
||||
|
||||
parset a,b,c seq ::: 4 5 6
|
||||
echo "$c"
|
||||
|
||||
or:
|
||||
|
||||
parset 'a b c' seq ::: 4 5 6
|
||||
echo "$c"
|
||||
|
||||
If you give a single variable, this will become an array:
|
||||
|
||||
parset arr seq ::: 4 5 6
|
||||
echo "${arr[1]}"
|
||||
|
||||
B<parset> has one limitation: If it reads from a pipe, the output will
|
||||
be lost.
|
||||
|
||||
echo This will not work | parset myarr echo
|
||||
echo Nothing: "${myarr[*]}"
|
||||
|
||||
Instead you can do this:
|
||||
|
||||
echo This will work > tempfile
|
||||
parset myarr echo < tempfile
|
||||
echo ${myarr[*]}
|
||||
|
||||
sql
|
||||
cvs
|
||||
|
||||
|
||||
=head2 Controlling the execution
|
||||
|
||||
=head3 Remote execution
|
||||
--dryrun -v
|
||||
|
||||
=head2 Remote execution
|
||||
|
||||
For this section you must have B<ssh> access with no password to 2
|
||||
servers: B<$server1> and B<$server2>.
|
||||
|
||||
server1=server.example.com
|
||||
server2=server2.example.net
|
||||
|
||||
So you must be able to do this:
|
||||
|
||||
ssh $server1 echo works
|
||||
ssh $server2 echo works
|
||||
|
||||
It can be setup by running 'ssh-keygen -t dsa; ssh-copy-id $server1'
|
||||
and using an empty passphrase. Or you can use B<ssh-agent>.
|
||||
|
||||
=head3 Workers
|
||||
|
||||
=head3 --transferfile
|
||||
|
||||
B<--transferfile> I<filename> will transfer I<filename> to the
|
||||
worker. I<filename> can contain a replacement string:
|
||||
|
||||
parallel -S $server1,$server2 --transferfile {} wc ::: example.*
|
||||
parallel -S $server1,$server2 --transferfile {2} \
|
||||
echo count {1} in {2}';' wc {1} {2} ::: -l -c ::: example.*
|
||||
|
||||
A shorthand for B<--transferfile {}> is B<--transfer>.
|
||||
|
||||
=head3 --return
|
||||
|
||||
|
||||
|
||||
=head3 --cleanup
|
||||
|
||||
A shorthand for B<--transfer --return {} --cleanup> is B<--trc {}>.
|
||||
|
||||
|
||||
=head2 Pipe mode
|
||||
|
||||
--pipepart
|
||||
|
||||
|
||||
=head2 That's it
|
||||
|
||||
=head1 Advanced usage
|
||||
|
||||
parset fifo, cmd substtition, arrayelements, array with var names and cmds, env_parset
|
||||
|
||||
env_parallel, parset, env_parset
|
||||
|
||||
env_parallel
|
||||
|
||||
Interfacing with R.
|
||||
|
||||
|
@ -208,7 +292,7 @@ Interfacing with HTML/?
|
|||
--termseq
|
||||
|
||||
|
||||
=head3 Remote execution
|
||||
=head2 Remote execution
|
||||
|
||||
seq 10 | parallel --sshlogin 'ssh -i "key.pem" a@b.com' echo
|
||||
|
||||
|
|
|
@ -1391,7 +1391,7 @@ par_bash_environment_too_big() {
|
|||
echo 'bug #50815: env_parallel should warn if the environment is too big'
|
||||
. `which env_parallel.bash`;
|
||||
|
||||
bigvar="$(perl -e 'print "x"x121000')"
|
||||
bigvar="$(perl -e 'print "x"x120000')"
|
||||
env_parallel echo ::: OK_bigvar
|
||||
env_parallel -S lo echo ::: OK_bigvar_remote
|
||||
|
||||
|
@ -1400,11 +1400,11 @@ par_bash_environment_too_big() {
|
|||
env_parallel -S lo echo ::: OK_bigvar_quote_remote
|
||||
|
||||
bigvar=u
|
||||
eval 'bigfunc() { a="'"$(perl -e 'print "x"x121000')"'"; };'
|
||||
eval 'bigfunc() { a="'"$(perl -e 'print "x"x120000')"'"; };'
|
||||
env_parallel echo ::: OK_bigfunc
|
||||
env_parallel -S lo echo ::: OK_bigfunc_remote
|
||||
|
||||
eval 'bigfunc() { a="'"$(perl -e 'print "\""x121000')"'"; };'
|
||||
eval 'bigfunc() { a="'"$(perl -e 'print "\""x120000')"'"; };'
|
||||
env_parallel echo ::: OK_bigfunc_quote
|
||||
env_parallel -S lo echo ::: OK_bigfunc_quote_remote
|
||||
bigfunc() { true; }
|
||||
|
@ -2029,4 +2029,6 @@ export -f $(compgen -A function | grep par_)
|
|||
#compgen -A function | grep par_ | sort | parallel --delay $D -j$P --tag -k '{} 2>&1'
|
||||
#compgen -A function | grep par_ | sort |
|
||||
compgen -A function | grep par_ | sort -r |
|
||||
parallel --joblog /tmp/jl-`basename $0` -j200% --tag -k '{} 2>&1'
|
||||
# parallel --joblog /tmp/jl-`basename $0` --delay $D -j$P --tag -k '{} 2>&1'
|
||||
parallel --joblog /tmp/jl-`basename $0` -j200% --tag -k '{} 2>&1' |
|
||||
perl -pe 's/line \d\d\d:/line XXX:/'
|
||||
|
|
|
@ -28,6 +28,8 @@ echo '### Tests on polarhome machines'
|
|||
|
||||
echo 'Setup on polarhome machines'
|
||||
# Avoid the stupid /etc/issue.net banner at Polarhome: -oLogLevel=quiet
|
||||
PARALLEL_SSH="ssh -oLogLevel=quiet"
|
||||
export PARALLEL_SSH
|
||||
stdout parallel -kj0 --delay 0.2 ssh -oLogLevel=quiet {} mkdir -p bin ::: $POLAR &
|
||||
|
||||
par_onall() {
|
||||
|
@ -88,18 +90,43 @@ par_onall 'func() { cat <(echo bash only A); };export -f func; bin/parallel func
|
|||
echo
|
||||
echo '### Does PARALLEL_SHELL help exporting a bash function not kill parallel'
|
||||
echo
|
||||
PARALLEL_SHELL=/bin/bash par_onall 'func() { cat <(echo bash only B); };export -f func; bin/parallel func ::: ' ::: 1
|
||||
|
||||
(
|
||||
mkdir -p tmp/bin;
|
||||
cp /bin/bash tmp/bin
|
||||
cd tmp
|
||||
PARALLEL_SHELL=bin/bash par_onall 'func() { cat <(echo bash only B); };export -f func; bin/parallel func ::: ' ::: 1
|
||||
)
|
||||
echo
|
||||
echo '### env_parallel echo :::: <(echo OK)'
|
||||
echo '(bash only)'
|
||||
echo '(bash ksh zsh only)'
|
||||
echo
|
||||
par_onall 'bin/env_parallel --install && echo {}' ::: install-OK
|
||||
par_onall 'source setupenv || . `pwd`/setupenv; env_parallel echo env_parallel :::' ::: run-OK
|
||||
par_onall 'source setupenv || . `pwd`/setupenv; env_parallel echo reading from process substitution :::: <(echo {})' ::: OK |
|
||||
par_onall 'source setupenv || . `pwd`/setupenv; '\
|
||||
'env_parallel echo env_parallel :::' ::: run-OK
|
||||
par_onall 'source setupenv || . `pwd`/setupenv; '\
|
||||
'env_parallel echo reading from process substitution :::: <(echo {})' ::: OK |
|
||||
# csh on NetBSD does not support process substitution
|
||||
grep -v ': /tmp/.*: No such file or directory'
|
||||
|
||||
echo
|
||||
echo '### (env_)parset arr seq ::: 2 3 4'
|
||||
echo '(bash ksh zsh only)'
|
||||
echo
|
||||
par_onall 'source setupenv || . `pwd`/setupenv; '\
|
||||
'parset arr seq ::: 2 3 4; echo ${arr[*]}' ::: parset-arr-OK
|
||||
par_onall 'source setupenv || . `pwd`/setupenv; start=2; '\
|
||||
'env_parset arr seq \$start ::: 2 3 4; echo ${arr[*]}' ::: env_parset-arr-OK
|
||||
|
||||
echo
|
||||
echo '### (env_)parset var1,var2,var3 seq ::: 2 3 4'
|
||||
echo '(bash ksh zsh only)'
|
||||
echo
|
||||
par_onall 'source setupenv || . `pwd`/setupenv; '\
|
||||
'parset var1,var2,var3 seq ::: 2 3 4; echo $var1,$var2,$var3' ::: parset-var-OK
|
||||
par_onall 'source setupenv || . `pwd`/setupenv; start=2; '\
|
||||
'env_parset var1,var2,var3 seq \$start ::: 2 3 4; echo $var1,$var2,$var3' ::: env_parset-var-OK
|
||||
|
||||
|
||||
# eval 'myfunc() { echo '$(perl -e 'print "x"x20000')'; }'
|
||||
# env_parallel myfunc ::: a | wc # OK
|
||||
# eval 'myfunc2() { echo '$(perl -e 'print "x"x120000')'; }'
|
||||
|
|
|
@ -1114,49 +1114,49 @@ par_bash_environment_too_big OK_bigfunc_remote
|
|||
par_bash_environment_too_big OK_bigfunc_quote
|
||||
par_bash_environment_too_big OK_bigfunc_quote_remote
|
||||
par_bash_environment_too_big Rest should fail
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line 209: /usr/bin/which: Argument list too long
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
|
||||
par_bash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_bash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_bash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line 209: /usr/bin/which: Argument list too long
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
|
||||
par_bash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_bash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_bash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line 209: /usr/bin/which: Argument list too long
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
|
||||
par_bash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_bash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_bash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line 209: /usr/bin/which: Argument list too long
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
|
||||
par_bash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_bash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_bash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line 209: /usr/bin/which: Argument list too long
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
|
||||
par_bash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_bash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_bash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line 209: /usr/bin/which: Argument list too long
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
|
||||
par_bash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_bash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_bash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line 209: /usr/bin/which: Argument list too long
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
|
||||
par_bash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_bash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_bash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_bash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line 209: /usr/bin/which: Argument list too long
|
||||
par_bash_environment_too_big /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
|
||||
par_bash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_bash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_bash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
|
|
|
@ -452,6 +452,7 @@ centos.polarhome.com bash only B
|
|||
debian-ppc.polarhome.com bash only B
|
||||
debian.polarhome.com bash only B
|
||||
freebsd.polarhome.com bash only B
|
||||
hpux-ia64.polarhome.com bash only B
|
||||
macosx.polarhome.com bash only B
|
||||
mandriva.polarhome.com bash only B
|
||||
miros.polarhome.com bash only B
|
||||
|
@ -465,10 +466,12 @@ scosysv.polarhome.com bash only B
|
|||
solaris-x86.polarhome.com bash only B
|
||||
solaris.polarhome.com bash only B
|
||||
suse.polarhome.com bash only B
|
||||
tru64.polarhome.com bash only B
|
||||
ubuntu.polarhome.com bash only B
|
||||
unixware.polarhome.com
|
||||
|
||||
### env_parallel echo :::: <(echo OK)
|
||||
(bash only)
|
||||
(bash ksh zsh only)
|
||||
|
||||
aix.polarhome.com Installed env_parallel in:
|
||||
aix.polarhome.com /home/t/tange/.bashrc
|
||||
|
@ -521,6 +524,7 @@ freebsd.polarhome.com /home/t/tange/.cshrc
|
|||
freebsd.polarhome.com /home/t/tange/.tcshrc
|
||||
freebsd.polarhome.com install-OK
|
||||
hpux-ia64.polarhome.com No such file or directory: bash
|
||||
hpux.polarhome.com exec request failed on channel 0
|
||||
macosx.polarhome.com Installed env_parallel in:
|
||||
macosx.polarhome.com /Users/tange/.bashrc
|
||||
macosx.polarhome.com /Users/tange/.shrc
|
||||
|
@ -719,6 +723,124 @@ suse.polarhome.com reading from process substitution OK
|
|||
tru64.polarhome.com reading from process substitution OK
|
||||
ubuntu.polarhome.com reading from process substitution OK
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `(' unexpected
|
||||
|
||||
### (env_)parset arr seq ::: 2 3 4
|
||||
(bash ksh zsh only)
|
||||
|
||||
centos.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
debian-ppc.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
debian.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
freebsd.polarhome.com source: not found
|
||||
freebsd.polarhome.com eval: 1: Syntax error: word unexpected (expecting ")")
|
||||
hpux-ia64.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
macosx.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
mandriva.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
miros.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
netbsd.polarhome.com parset: Command not found.
|
||||
netbsd.polarhome.com arr: Undefined variable.
|
||||
openbsd.polarhome.com parset-arr-OK
|
||||
openindiana.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
pidora.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
raspbian.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
redhat.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
scosysv.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
solaris-x86.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
solaris.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
suse.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
tru64.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
ubuntu.polarhome.com 1 2 1 2 3 1 2 3 4 parset-arr-OK
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: source: Not found
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `arr=' unexpected
|
||||
centos.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
debian-ppc.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
debian.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
freebsd.polarhome.com source: not found
|
||||
freebsd.polarhome.com eval: 1: Syntax error: word unexpected (expecting ")")
|
||||
hpux-ia64.polarhome.com 1 2 1 2 1 2 env_parset-arr-OK
|
||||
macosx.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
mandriva.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
miros.polarhome.com 1 2 1 2 1 2 env_parset-arr-OK
|
||||
netbsd.polarhome.com start=2: Command not found.
|
||||
netbsd.polarhome.com env_parset: Command not found.
|
||||
netbsd.polarhome.com arr: Undefined variable.
|
||||
openbsd.polarhome.com env_parset-arr-OK
|
||||
openindiana.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
pidora.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
raspbian.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
redhat.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
scosysv.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
solaris-x86.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
solaris.polarhome.com 1 2 1 2 1 2 env_parset-arr-OK
|
||||
suse.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
tru64.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
ubuntu.polarhome.com 2 2 3 2 3 4 env_parset-arr-OK
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: source: Not found
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `arr=' unexpected
|
||||
|
||||
### (env_)parset var1,var2,var3 seq ::: 2 3 4
|
||||
(bash ksh zsh only)
|
||||
|
||||
centos.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
debian-ppc.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
debian.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
freebsd.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
freebsd.polarhome.com source: not found
|
||||
hpux-ia64.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
macosx.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
mandriva.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
miros.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
netbsd.polarhome.com parset: Command not found.
|
||||
netbsd.polarhome.com var1: Undefined variable.
|
||||
openbsd.polarhome.com ,, parset-var-OK
|
||||
openindiana.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
pidora.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
raspbian.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
redhat.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
scosysv.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
solaris-x86.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
solaris.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
suse.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
tru64.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
ubuntu.polarhome.com 1 2,1 2 3,1 2 3 4 parset-var-OK
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: source: Not found
|
||||
unixware.polarhome.com UX:cat: ERROR: Cannot open tmpfile1: No such file or directory
|
||||
unixware.polarhome.com UX:rm: ERROR: Cannot access tmpfile1: No such file or directory
|
||||
unixware.polarhome.com UX:cat: ERROR: Cannot open tmpfile2: No such file or directory
|
||||
unixware.polarhome.com UX:rm: ERROR: Cannot access tmpfile2: No such file or directory
|
||||
unixware.polarhome.com UX:cat: ERROR: Cannot open {1}: No such file or directory
|
||||
unixware.polarhome.com UX:rm: ERROR: Cannot access {1}: No such file or directory
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 2: `$' unexpected
|
||||
centos.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
debian-ppc.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
debian.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
freebsd.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
freebsd.polarhome.com source: not found
|
||||
hpux-ia64.polarhome.com 1 2,1 2,1 2 env_parset-var-OK
|
||||
macosx.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
mandriva.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
miros.polarhome.com 1 2,1 2,1 2 env_parset-var-OK
|
||||
netbsd.polarhome.com start=2: Command not found.
|
||||
netbsd.polarhome.com env_parset: Command not found.
|
||||
netbsd.polarhome.com var1: Undefined variable.
|
||||
openbsd.polarhome.com ,, env_parset-var-OK
|
||||
openindiana.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
pidora.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
raspbian.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
redhat.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
scosysv.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
solaris-x86.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
solaris.polarhome.com 1 2,1 2,1 2 env_parset-var-OK
|
||||
suse.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
tru64.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
ubuntu.polarhome.com 2,2 3,2 3 4 env_parset-var-OK
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: source: Not found
|
||||
unixware.polarhome.com UX:cat: ERROR: Cannot open tmpfile1: No such file or directory
|
||||
unixware.polarhome.com UX:rm: ERROR: Cannot access tmpfile1: No such file or directory
|
||||
unixware.polarhome.com UX:cat: ERROR: Cannot open tmpfile2: No such file or directory
|
||||
unixware.polarhome.com UX:rm: ERROR: Cannot access tmpfile2: No such file or directory
|
||||
unixware.polarhome.com UX:cat: ERROR: Cannot open {1}: No such file or directory
|
||||
unixware.polarhome.com UX:rm: ERROR: Cannot access {1}: No such file or directory
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 2: `$' unexpected
|
||||
macosx.polarhome.com
|
||||
macosx.polarhome.com ### Test if empty command in process list causes problems
|
||||
macosx.polarhome.com
|
||||
|
|
|
@ -859,6 +859,7 @@ ORACLE_SID
|
|||
PARALLEL
|
||||
PARALLEL_HOME
|
||||
PARALLEL_PID
|
||||
PARALLEL_RSYNC_OPTS
|
||||
PARALLEL_SEQ
|
||||
PARALLEL_TMP
|
||||
PATH
|
||||
|
|
Loading…
Reference in a new issue