mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 14:07:55 +00:00
Released as 20160422 ('PanamaPapers')
This commit is contained in:
parent
d0b5edf41f
commit
e4738dfb97
60
NEWS
60
NEWS
|
@ -1,3 +1,63 @@
|
||||||
|
20160422
|
||||||
|
|
||||||
|
* :::+ and ::::+ work like ::: and :::: but links this input source to
|
||||||
|
the previous input source in a --xapply fashion. Contrary to
|
||||||
|
--xapply values do not wrap: The shortest input source determines
|
||||||
|
the length.
|
||||||
|
|
||||||
|
* --line-buffer --keep-order now outputs continously from the oldest
|
||||||
|
job still running. This is more what you would expect than the
|
||||||
|
earlier behaviour where --keep-order had no effect with
|
||||||
|
--line-buffer.
|
||||||
|
|
||||||
|
* env_parallel supports tcsh, csh, pdksh. In fish it now supports
|
||||||
|
arrays. In csh/tcsh it now supports variables, aliases, and arrays
|
||||||
|
with no special chars. In pdksh it supports aliases, functions,
|
||||||
|
variables, and arrays.
|
||||||
|
|
||||||
|
* Function exporting on Mac OS X works around old Bash version.
|
||||||
|
|
||||||
|
* Better CPU detection on OpenIndiana.
|
||||||
|
|
||||||
|
* GNU Parallel was cited in: How Can We Measure the Similarity Between
|
||||||
|
Resumes of Selected Candidates for a Job?
|
||||||
|
https://www.researchgate.net/publication/275954089_How_can_we_measure_the_similarity_between_resumes_of_selected_candidates_for_a_job
|
||||||
|
|
||||||
|
* GNU Parallel was cited in: Automatic Methods for Assisted
|
||||||
|
Recruitment
|
||||||
|
https://www.researchgate.net/publication/297738658_Automatic_Methods_for_Assisted_Recruitment
|
||||||
|
|
||||||
|
* GNU Parallel was cited in: Tools and techniques for computational
|
||||||
|
reproducibility
|
||||||
|
http://biorxiv.org/content/biorxiv/early/2016/03/17/022707.full.pdf
|
||||||
|
|
||||||
|
* GNU Parallel was cited in: Reinterpretation of ATLAS 8 TeV searches
|
||||||
|
for Natural SUSY with a R-Sneutrino LSP
|
||||||
|
http://arxiv.org/pdf/1603.06130.pdf
|
||||||
|
|
||||||
|
* GNU Parallel was cited in: An Operational Radiometric Landsat
|
||||||
|
Preprocessing Framework for Large-Area Time Series Applications
|
||||||
|
https://www.uni-trier.de/fileadmin/fb6/prof/FER/Publikationen/frantz_et_al_ieee-tgrs-2016-post-print.pdf
|
||||||
|
|
||||||
|
* A basic demo of how GNU Parallel can speed up execution of commands
|
||||||
|
https://www.youtube.com/watch?v=kl8LO2jcvMc
|
||||||
|
|
||||||
|
* Downloading a list of URLs
|
||||||
|
http://blog.gypsydave5.com/2016/02/04/xargs-and-curl/
|
||||||
|
|
||||||
|
* qbatch uses GNU Parallel: https://pypi.python.org/pypi/qbatch/1.0rc2
|
||||||
|
|
||||||
|
* FaceCrop uses GNU Parallel: https://github.com/EderSantana/FaceCrop
|
||||||
|
|
||||||
|
* Parallel Processing with Catmandu
|
||||||
|
https://librecatproject.wordpress.com/2016/04/20/parallel-processing-with-catmandu/
|
||||||
|
|
||||||
|
* GNU parallel 應用範例
|
||||||
|
http://staypython.blogspot.dk/2016/04/gnu-parallel.html
|
||||||
|
|
||||||
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
|
|
||||||
20160322
|
20160322
|
||||||
|
|
||||||
* env_parallel is a function that exports the environment (functions,
|
* env_parallel is a function that exports the environment (functions,
|
||||||
|
|
12
README
12
README
|
@ -40,9 +40,9 @@ document.
|
||||||
|
|
||||||
Full installation of GNU Parallel is as simple as:
|
Full installation of GNU Parallel is as simple as:
|
||||||
|
|
||||||
wget http://ftpmirror.gnu.org/parallel/parallel-20160322.tar.bz2
|
wget http://ftpmirror.gnu.org/parallel/parallel-20160422.tar.bz2
|
||||||
bzip2 -dc parallel-20160322.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20160422.tar.bz2 | tar xvf -
|
||||||
cd parallel-20160322
|
cd parallel-20160422
|
||||||
./configure && make && sudo make install
|
./configure && make && sudo make install
|
||||||
|
|
||||||
|
|
||||||
|
@ -51,9 +51,9 @@ Full installation of GNU Parallel is as simple as:
|
||||||
If you are not root you can add ~/bin to your path and install in
|
If you are not root you can add ~/bin to your path and install in
|
||||||
~/bin and ~/share:
|
~/bin and ~/share:
|
||||||
|
|
||||||
wget http://ftpmirror.gnu.org/parallel/parallel-20160322.tar.bz2
|
wget http://ftpmirror.gnu.org/parallel/parallel-20160422.tar.bz2
|
||||||
bzip2 -dc parallel-20160322.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20160422.tar.bz2 | tar xvf -
|
||||||
cd parallel-20160322
|
cd parallel-20160422
|
||||||
./configure --prefix=$HOME && make && make install
|
./configure --prefix=$HOME && make && make install
|
||||||
|
|
||||||
Or if your system lacks 'make' you can simply copy src/parallel
|
Or if your system lacks 'make' you can simply copy src/parallel
|
||||||
|
|
20
configure
vendored
20
configure
vendored
|
@ -1,6 +1,6 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.69 for parallel 20160322.
|
# Generated by GNU Autoconf 2.69 for parallel 20160422.
|
||||||
#
|
#
|
||||||
# Report bugs to <bug-parallel@gnu.org>.
|
# Report bugs to <bug-parallel@gnu.org>.
|
||||||
#
|
#
|
||||||
|
@ -579,8 +579,8 @@ MAKEFLAGS=
|
||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='parallel'
|
PACKAGE_NAME='parallel'
|
||||||
PACKAGE_TARNAME='parallel'
|
PACKAGE_TARNAME='parallel'
|
||||||
PACKAGE_VERSION='20160322'
|
PACKAGE_VERSION='20160422'
|
||||||
PACKAGE_STRING='parallel 20160322'
|
PACKAGE_STRING='parallel 20160422'
|
||||||
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
|
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
|
@ -1203,7 +1203,7 @@ if test "$ac_init_help" = "long"; then
|
||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures parallel 20160322 to adapt to many kinds of systems.
|
\`configure' configures parallel 20160422 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
|
@ -1269,7 +1269,7 @@ fi
|
||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of parallel 20160322:";;
|
short | recursive ) echo "Configuration of parallel 20160422:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
|
@ -1345,7 +1345,7 @@ fi
|
||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
parallel configure 20160322
|
parallel configure 20160422
|
||||||
generated by GNU Autoconf 2.69
|
generated by GNU Autoconf 2.69
|
||||||
|
|
||||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||||
|
@ -1362,7 +1362,7 @@ cat >config.log <<_ACEOF
|
||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by parallel $as_me 20160322, which was
|
It was created by parallel $as_me 20160422, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
|
@ -2225,7 +2225,7 @@ fi
|
||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='parallel'
|
PACKAGE='parallel'
|
||||||
VERSION='20160322'
|
VERSION='20160422'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
@ -2867,7 +2867,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by parallel $as_me 20160322, which was
|
This file was extended by parallel $as_me 20160422, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
|
@ -2929,7 +2929,7 @@ _ACEOF
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
parallel config.status 20160322
|
parallel config.status 20160422
|
||||||
configured by $0, generated by GNU Autoconf 2.69,
|
configured by $0, generated by GNU Autoconf 2.69,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
AC_INIT([parallel], [20160322], [bug-parallel@gnu.org])
|
AC_INIT([parallel], [20160422], [bug-parallel@gnu.org])
|
||||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
|
|
|
@ -248,6 +248,16 @@ for Big Data Applications https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumb
|
||||||
|
|
||||||
* <<Citation needed: Introspecting for RSA Key Material to Assist Intrusion Detection http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=7331177&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D7331177>>
|
* <<Citation needed: Introspecting for RSA Key Material to Assist Intrusion Detection http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=7331177&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D7331177>>
|
||||||
|
|
||||||
|
* :::+ and ::::+ work like ::: and :::: but links this input source to the previous input source in a --xapply fashion. Contrary to --xapply values do not wrap: The shortest input source determines the length.
|
||||||
|
|
||||||
|
* --line-buffer --keep-order now outputs continously from the oldest job still running. This is more what you would expect than the earlier behaviour where --keep-order had no effect with --line-buffer.
|
||||||
|
|
||||||
|
* env_parallel supports tcsh, csh, pdksh. In fish it now supports arrays. In csh/tcsh it now supports variables, aliases, and arrays with no special chars. In pdksh it supports aliases, functions, variables, and arrays.
|
||||||
|
|
||||||
|
* Function exporting on Mac OS X works around old Bash version.
|
||||||
|
|
||||||
|
* Better CPU detection on OpenIndiana.
|
||||||
|
|
||||||
* GNU Parallel was cited in: How Can We Measure the Similarity Between Resumes of Selected Candidates for a Job? https://www.researchgate.net/publication/275954089_How_can_we_measure_the_similarity_between_resumes_of_selected_candidates_for_a_job
|
* GNU Parallel was cited in: How Can We Measure the Similarity Between Resumes of Selected Candidates for a Job? https://www.researchgate.net/publication/275954089_How_can_we_measure_the_similarity_between_resumes_of_selected_candidates_for_a_job
|
||||||
|
|
||||||
* GNU Parallel was cited in: Automatic Methods for Assisted Recruitment https://www.researchgate.net/publication/297738658_Automatic_Methods_for_Assisted_Recruitment
|
* GNU Parallel was cited in: Automatic Methods for Assisted Recruitment https://www.researchgate.net/publication/297738658_Automatic_Methods_for_Assisted_Recruitment
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Summary: Shell tool for executing jobs in parallel
|
Summary: Shell tool for executing jobs in parallel
|
||||||
Name: parallel
|
Name: parallel
|
||||||
Version: 20160322
|
Version: 20160422
|
||||||
Release: 1.1
|
Release: 1.1
|
||||||
License: GPL
|
License: GPL
|
||||||
Group: Productivity/File utilities
|
Group: Productivity/File utilities
|
||||||
|
|
|
@ -20,6 +20,8 @@ environment to GNU Parallel.
|
||||||
If the shell function is not loaded, a dummy script will be run
|
If the shell function is not loaded, a dummy script will be run
|
||||||
instead that explains how to install the function.
|
instead that explains how to install the function.
|
||||||
|
|
||||||
|
B<env_parallel> is alpha quality and not production ready.
|
||||||
|
|
||||||
=head2 Environment space
|
=head2 Environment space
|
||||||
|
|
||||||
B<env_parallel> only works if the size of the current environment is
|
B<env_parallel> only works if the size of the current environment is
|
||||||
|
@ -283,6 +285,48 @@ Not supported by B<csh>.
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
=head2 tcsh
|
||||||
|
|
||||||
|
B<env_parallel> for B<tcsh> breaks B<$PARALLEL>, so do not use
|
||||||
|
B<$PARALLEL>.
|
||||||
|
|
||||||
|
Installation
|
||||||
|
|
||||||
|
Put this in $HOME/.tcshrc:
|
||||||
|
|
||||||
|
source `which env_parallel.tcsh`
|
||||||
|
|
||||||
|
E.g. by doing:
|
||||||
|
|
||||||
|
echo 'source `which env_parallel.tcsh`' >> $HOME/.tcshrc
|
||||||
|
|
||||||
|
=over 8
|
||||||
|
|
||||||
|
=item aliases
|
||||||
|
|
||||||
|
alias myecho echo
|
||||||
|
env_parallel myecho ::: test
|
||||||
|
env_parallel -S server myecho ::: test
|
||||||
|
|
||||||
|
=item functions
|
||||||
|
|
||||||
|
Not supported by B<tcsh>.
|
||||||
|
|
||||||
|
=item variables
|
||||||
|
|
||||||
|
set myvar=test
|
||||||
|
env_parallel echo "\$myvar" ::: test
|
||||||
|
env_parallel -S tcsh@server echo "\$myvar" ::: test
|
||||||
|
|
||||||
|
|
||||||
|
=item arrays with no special chars
|
||||||
|
|
||||||
|
set myarray=(foo bar baz)
|
||||||
|
env_parallel echo "\${myarray\[\{\}\]}" ::: 1 2 3
|
||||||
|
env_parallel -S tcsh@server echo "\${myarray\[\{\}\]}" ::: 1 2 3
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
=head1 EXIT STATUS
|
=head1 EXIT STATUS
|
||||||
|
|
|
@ -27,8 +27,7 @@
|
||||||
|
|
||||||
if ("`alias env_parallel`" == '') then
|
if ("`alias env_parallel`" == '') then
|
||||||
# Activate alias
|
# Activate alias
|
||||||
## alias env_parallel 'setenv PARALLEL "\!*"; source `which env_parallel.csh`'
|
alias env_parallel 'setenv PARALLEL "\!*"; source `which env_parallel.tcsh`'
|
||||||
alias env_parallel 'setenv PARALLEL "\!*"; source /tmp/env_parallel.csh'
|
|
||||||
else
|
else
|
||||||
# Get the scalar and array variable names
|
# Get the scalar and array variable names
|
||||||
set _vARnAmES=(`set | awk -e '{print $1}' |grep -vE '^(_|killring|prompt2)$'`)
|
set _vARnAmES=(`set | awk -e '{print $1}' |grep -vE '^(_|killring|prompt2)$'`)
|
||||||
|
@ -40,7 +39,7 @@ else
|
||||||
set _tMpaLLfILe=`tempfile`
|
set _tMpaLLfILe=`tempfile`
|
||||||
foreach _vARnAmE ($_vARnAmES);
|
foreach _vARnAmE ($_vARnAmES);
|
||||||
# if $?myvar && $#myvar <= 1 echo scalar_myvar=$var
|
# if $?myvar && $#myvar <= 1 echo scalar_myvar=$var
|
||||||
eval if'($?'$_vARnAmE' && ${#'$_vARnAmE'} <= 1) echo scalar_'$_vARnAmE'=\"'\"\$$_vARnAmE\"'\"' >> $_tMpvARfILe;
|
eval if'($?'$_vARnAmE' && ${#'$_vARnAmE'} <= 1) echo scalar_'$_vARnAmE'='\"\$$_vARnAmE\" >> $_tMpvARfILe;
|
||||||
# if $?myvar && $#myvar > 1 echo array_myvar=$var
|
# if $?myvar && $#myvar > 1 echo array_myvar=$var
|
||||||
eval if'($?'$_vARnAmE' && ${#'$_vARnAmE'} > 1) echo array_'$_vARnAmE'="$'$_vARnAmE'"' >> $_tMpvARfILe;
|
eval if'($?'$_vARnAmE' && ${#'$_vARnAmE'} > 1) echo array_'$_vARnAmE'="$'$_vARnAmE'"' >> $_tMpvARfILe;
|
||||||
end
|
end
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
use strict;
|
use strict;
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
$Global::progname="niceload";
|
$Global::progname="niceload";
|
||||||
$Global::version = 20160323;
|
$Global::version = 20160422;
|
||||||
Getopt::Long::Configure("bundling","require_order");
|
Getopt::Long::Configure("bundling","require_order");
|
||||||
get_options_from_array(\@ARGV) || die_usage();
|
get_options_from_array(\@ARGV) || die_usage();
|
||||||
if($opt::version) {
|
if($opt::version) {
|
||||||
|
|
|
@ -1183,7 +1183,7 @@ sub check_invalid_option_combinations {
|
||||||
|
|
||||||
sub init_globals {
|
sub init_globals {
|
||||||
# Defaults:
|
# Defaults:
|
||||||
$Global::version = 20160420;
|
$Global::version = 20160422;
|
||||||
$Global::progname = 'parallel';
|
$Global::progname = 'parallel';
|
||||||
$Global::infinity = 2**31;
|
$Global::infinity = 2**31;
|
||||||
$Global::debug = 0;
|
$Global::debug = 0;
|
||||||
|
|
|
@ -285,7 +285,7 @@ positional replacement strings see B<{>I<n>B<}>.
|
||||||
See also: B<{=perl expression=}> B<{>I<n>B<}>.
|
See also: B<{=perl expression=}> B<{>I<n>B<}>.
|
||||||
|
|
||||||
|
|
||||||
=item B<:::> I<arguments>
|
=item B<:::> I<arguments> (alpha testing)
|
||||||
|
|
||||||
Use arguments from the command line as input source instead of stdin
|
Use arguments from the command line as input source instead of stdin
|
||||||
(standard input). Unlike other options for GNU B<parallel> B<:::> is
|
(standard input). Unlike other options for GNU B<parallel> B<:::> is
|
||||||
|
@ -338,7 +338,7 @@ Example:
|
||||||
parallel echo ::: a b c :::+ 1 2 3 ::: X Y :::+ 11 22
|
parallel echo ::: a b c :::+ 1 2 3 ::: X Y :::+ 11 22
|
||||||
|
|
||||||
|
|
||||||
=item B<::::> I<argfiles>
|
=item B<::::> I<argfiles> (alpha testing)
|
||||||
|
|
||||||
Another way to write B<-a> I<argfile1> B<-a> I<argfile2> ...
|
Another way to write B<-a> I<argfile1> B<-a> I<argfile2> ...
|
||||||
|
|
||||||
|
@ -611,7 +611,7 @@ If I<eof-str> is omitted, there is no end of file string. If neither
|
||||||
B<-E> nor B<-e> is used, no end of file string is used.
|
B<-E> nor B<-e> is used, no end of file string is used.
|
||||||
|
|
||||||
|
|
||||||
=item B<--env> I<var>
|
=item B<--env> I<var> (alpha testing)
|
||||||
|
|
||||||
Copy environment variable I<var>. This will copy I<var> to the
|
Copy environment variable I<var>. This will copy I<var> to the
|
||||||
environment that the command is run in. This is especially useful for
|
environment that the command is run in. This is especially useful for
|
||||||
|
@ -623,28 +623,9 @@ In Bash I<var> can also be a Bash function - just remember to B<export
|
||||||
The variable '_' is special. It will copy all exported environment
|
The variable '_' is special. It will copy all exported environment
|
||||||
variables except for the ones mentioned in ~/.parallel/ignored_vars.
|
variables except for the ones mentioned in ~/.parallel/ignored_vars.
|
||||||
|
|
||||||
To copy Bash arrays you need an importer function, as Bash arrays
|
To copy the full environment (both exported and not exported
|
||||||
cannot be exported:
|
variables, arrays, and functions) use B<env_parallel> as described
|
||||||
|
under the option I<command>.
|
||||||
import_array () {
|
|
||||||
local func=$1; shift;
|
|
||||||
export $func='() {
|
|
||||||
'"$(for arr in $@; do
|
|
||||||
declare -p $arr|sed '1s/declare -./&g/'
|
|
||||||
done)"'
|
|
||||||
}'
|
|
||||||
}
|
|
||||||
|
|
||||||
declare -A assoc='([one]="1" [two]="2")'
|
|
||||||
declare -a indexed='([0]="one" [1]="two")'
|
|
||||||
|
|
||||||
import_array my_importer assoc indexed
|
|
||||||
|
|
||||||
parallel --env my_importer \
|
|
||||||
'my_importer; echo "{}" "${indexed[{}]}" "${assoc[${indexed[{}]}]}"' ::: "${!indexed[@]}"
|
|
||||||
|
|
||||||
To copy the full environment (both exported and not exported variables
|
|
||||||
and functions) use env_parallel as described under the option I<command>.
|
|
||||||
|
|
||||||
|
|
||||||
See also: B<--record-env>.
|
See also: B<--record-env>.
|
||||||
|
|
2
src/sql
2
src/sql
|
@ -566,7 +566,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
||||||
exit ($err);
|
exit ($err);
|
||||||
|
|
||||||
sub parse_options {
|
sub parse_options {
|
||||||
$Global::version = 20160323;
|
$Global::version = 20160422;
|
||||||
$Global::progname = 'sql';
|
$Global::progname = 'sql';
|
||||||
|
|
||||||
# This must be done first as this may exec myself
|
# This must be done first as this may exec myself
|
||||||
|
|
Loading…
Reference in a new issue