mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-21 21:47:54 +00:00
Released as 20180122 ('Mayon')
This commit is contained in:
parent
2d3989d36b
commit
b597f4166f
13
NEWS
13
NEWS
|
@ -1,3 +1,16 @@
|
|||
20180122
|
||||
|
||||
* bash / 병렬 https://code.i-harness.com/ko/docs/bash/2a1a
|
||||
|
||||
* 15分钟神器gnu parallel 入门观止
|
||||
http://www.ezilin.com/2018/01/15gnu-parallel.html
|
||||
|
||||
* How To Run Multiple Commands In Parallel on Linux
|
||||
https://www.slashroot.in/how-run-multiple-commands-parallel-linux
|
||||
|
||||
* Bug fixes and man page updates.
|
||||
|
||||
|
||||
20171222
|
||||
|
||||
* env_parset for ash, dash, ksh, sh, zsh
|
||||
|
|
14
README
14
README
|
@ -44,9 +44,9 @@ document.
|
|||
|
||||
Full installation of GNU Parallel is as simple as:
|
||||
|
||||
wget http://ftpmirror.gnu.org/parallel/parallel-20171222.tar.bz2
|
||||
bzip2 -dc parallel-20171222.tar.bz2 | tar xvf -
|
||||
cd parallel-20171222
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20180122.tar.bz2
|
||||
bzip2 -dc parallel-20180122.tar.bz2 | tar xvf -
|
||||
cd parallel-20180122
|
||||
./configure && make && sudo make install
|
||||
|
||||
|
||||
|
@ -55,9 +55,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
|
||||
~/bin and ~/share:
|
||||
|
||||
wget http://ftpmirror.gnu.org/parallel/parallel-20171222.tar.bz2
|
||||
bzip2 -dc parallel-20171222.tar.bz2 | tar xvf -
|
||||
cd parallel-20171222
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20180122.tar.bz2
|
||||
bzip2 -dc parallel-20180122.tar.bz2 | tar xvf -
|
||||
cd parallel-20180122
|
||||
./configure --prefix=$HOME && make && make install
|
||||
|
||||
Or if your system lacks 'make' you can simply copy src/parallel
|
||||
|
@ -69,7 +69,7 @@ src/sem src/niceload src/sql to a dir in your path.
|
|||
If you just need parallel and do not have 'make' installed (maybe the
|
||||
system is old or Microsoft Windows):
|
||||
|
||||
wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
|
||||
wget https://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
|
||||
chmod 755 parallel
|
||||
cp parallel sem
|
||||
mv parallel sem dir-in-your-$PATH/bin/
|
||||
|
|
5
bootstrap
Executable file
5
bootstrap
Executable file
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
# I always forget how to make ./configure
|
||||
|
||||
autoreconf --install -W gnu
|
20
configure
vendored
20
configure
vendored
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for parallel 20171222.
|
||||
# Generated by GNU Autoconf 2.69 for parallel 20180122.
|
||||
#
|
||||
# Report bugs to <bug-parallel@gnu.org>.
|
||||
#
|
||||
|
@ -579,8 +579,8 @@ MAKEFLAGS=
|
|||
# Identity of this package.
|
||||
PACKAGE_NAME='parallel'
|
||||
PACKAGE_TARNAME='parallel'
|
||||
PACKAGE_VERSION='20171222'
|
||||
PACKAGE_STRING='parallel 20171222'
|
||||
PACKAGE_VERSION='20180122'
|
||||
PACKAGE_STRING='parallel 20180122'
|
||||
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
|
||||
PACKAGE_URL=''
|
||||
|
||||
|
@ -1214,7 +1214,7 @@ if test "$ac_init_help" = "long"; then
|
|||
# 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.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures parallel 20171222 to adapt to many kinds of systems.
|
||||
\`configure' configures parallel 20180122 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
|
@ -1281,7 +1281,7 @@ fi
|
|||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of parallel 20171222:";;
|
||||
short | recursive ) echo "Configuration of parallel 20180122:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
|
@ -1357,7 +1357,7 @@ fi
|
|||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
parallel configure 20171222
|
||||
parallel configure 20180122
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
|
@ -1374,7 +1374,7 @@ cat >config.log <<_ACEOF
|
|||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by parallel $as_me 20171222, which was
|
||||
It was created by parallel $as_me 20180122, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
|
@ -2237,7 +2237,7 @@ fi
|
|||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='parallel'
|
||||
VERSION='20171222'
|
||||
VERSION='20180122'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
|
@ -2880,7 +2880,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by parallel $as_me 20171222, which was
|
||||
This file was extended by parallel $as_me 20180122, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
|
@ -2942,7 +2942,7 @@ _ACEOF
|
|||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||
ac_cs_version="\\
|
||||
parallel config.status 20171222
|
||||
parallel config.status 20180122
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
AC_INIT([parallel], [20171222], [bug-parallel@gnu.org])
|
||||
AC_INIT([parallel], [20180122], [bug-parallel@gnu.org])
|
||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_FILES([
|
||||
|
|
|
@ -199,19 +199,24 @@ to:parallel@gnu.org, bug-parallel@gnu.org
|
|||
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
||||
|
||||
|
||||
Subject: GNU Parallel 20171222 ('Jerusalem/Agung/Bir al-Abed') released <<[stable]>>
|
||||
Subject: GNU Parallel 20180122 ('Mayon') released <<[stable]>>
|
||||
|
||||
GNU Parallel 20171222 ('Jerusalem/Agung/Bir al-Abed') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
||||
GNU Parallel 20180122 ('Mayon') <<[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.>>
|
||||
|
||||
Haiku of the month:
|
||||
<<>>
|
||||
Quote of the month:
|
||||
|
||||
GNU Parallel is making me pretty happy this morning
|
||||
-- satanpenguin
|
||||
|
||||
New in this release:
|
||||
|
||||
* bash / 병렬 https://code.i-harness.com/ko/docs/bash/2a1a
|
||||
|
||||
* 15分钟神器gnu parallel 入门观止 http://www.ezilin.com/2018/01/15gnu-parallel.html
|
||||
|
||||
* How To Run Multiple Commands In Parallel on Linux https://www.slashroot.in/how-run-multiple-commands-parallel-linux
|
||||
|
||||
<<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>>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<directory name="parallel" rev="214" srcmd5="2516655d54c763928fd9f97014e11540" vrev="1">
|
||||
<entry md5="8b44ef3f5aac2302f976cb58cf61fe87" mtime="1513986752" name="parallel-20171222.tar.bz2" size="1690096" />
|
||||
<entry md5="5f4277facf3f4777b0cea688027954a3" mtime="1513986752" name="parallel.spec" size="4693" />
|
||||
<entry md5="ca877325712ba2d1f5906548427de534" mtime="1513986752" name="parallel_20171222.dsc" size="556" />
|
||||
<entry md5="21420e5e8a3c415584438286cb2cdcaf" mtime="1513986753" name="parallel_20171222.tar.gz" size="1894418" />
|
||||
<directory name="parallel" rev="216" srcmd5="8f7a185b24d9bbf7d205810dc0400fc3" vrev="2">
|
||||
<entry md5="dc3c49472f24afa64146433955e3c60c" mtime="1516637654" name="parallel-20180122.tar.bz2" size="1717898" />
|
||||
<entry md5="09b2f07b64cc64aef10f459b57fe8e25" mtime="1516624602" name="parallel.spec" size="4693" />
|
||||
<entry md5="e429add03e21bbe237a9cd03249acb13" mtime="1516637656" name="parallel_20180122.dsc" size="556" />
|
||||
<entry md5="cd809eb297ee7fb8821786b6a814090c" mtime="1516637670" name="parallel_20180122.tar.gz" size="1904981" />
|
||||
</directory>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Summary: Shell tool for executing jobs in parallel
|
||||
Name: parallel
|
||||
Version: 20171222
|
||||
Version: 20180122
|
||||
Release: 1.2
|
||||
License: GPL
|
||||
Group: Productivity/File utilities
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Summary: Shell tool for executing jobs in parallel
|
||||
Name: parallel
|
||||
Version: 20171222
|
||||
Version: 20180122
|
||||
Release: 1.2
|
||||
License: GPL
|
||||
Group: Productivity/File utilities
|
||||
|
|
|
@ -59,7 +59,7 @@ env_parallel() {
|
|||
}
|
||||
_names_of_VARIABLES() {
|
||||
# This may screw up if variables contain \n and =
|
||||
set | perl -ne 's/^(\S+)=.*/$1/ and print;'
|
||||
set | perl -ne 's/^(\S+?)=.*/$1/ and print;'
|
||||
}
|
||||
_bodies_of_VARIABLES() {
|
||||
# Crappy typeset -p
|
||||
|
@ -73,11 +73,16 @@ env_parallel() {
|
|||
}
|
||||
_remove_bad_NAMES() {
|
||||
# Do not transfer vars and funcs from env_parallel
|
||||
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|_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)$' |
|
||||
# Some versions of grep do not support -E: Use perl
|
||||
# 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|_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|_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|_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)$/ and next;
|
||||
# Filter names matching --env
|
||||
grep -E "^$_grep_REGEXP"\$ | grep -vE "^$_ignore_UNDERSCORE"\$ |
|
||||
/^'"$_grep_REGEXP"'$/ or next;
|
||||
/^'"$_ignore_UNDERSCORE"'$/ and next;
|
||||
# Vars set by /bin/sh
|
||||
grep -Ev '^(_)$'
|
||||
/^(_|TIMEOUT)$/ and next;
|
||||
print;'
|
||||
}
|
||||
|
||||
_get_ignored_VARS() {
|
||||
|
@ -116,14 +121,18 @@ env_parallel() {
|
|||
}
|
||||
_which() {
|
||||
# type returns:
|
||||
# ll is an alias for ls -l (in ash)
|
||||
# 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/ aliased to .*// ||
|
||||
perl -pe '$exit += (s/ is an alias for .*// ||
|
||||
s/ is aliased to .*// ||
|
||||
s/ is a shell builtin// ||
|
||||
s/.* is hashed .(\S+).$/$1/ ||
|
||||
s/.* is (a tracked alias for )?//);
|
||||
END { exit not $exit }'
|
||||
}
|
||||
|
@ -184,6 +193,7 @@ env_parallel() {
|
|||
$_list_function_BODIES;
|
||||
$_list_variable_VALUES;
|
||||
`"
|
||||
|
||||
export PARALLEL_ENV
|
||||
unset _list_alias_BODIES
|
||||
unset _list_variable_VALUES
|
||||
|
@ -256,8 +266,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
|
||||
|
@ -270,9 +280,9 @@ _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 "$@" |
|
||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "' ) )"
|
||||
|
|
|
@ -59,7 +59,7 @@ env_parallel() {
|
|||
}
|
||||
_names_of_VARIABLES() {
|
||||
# This may screw up if variables contain \n and =
|
||||
set | perl -ne 's/^(\S+)=.*/$1/ and print;'
|
||||
set | perl -ne 's/^(\S+?)=.*/$1/ and print;'
|
||||
}
|
||||
_bodies_of_VARIABLES() {
|
||||
# Crappy typeset -p
|
||||
|
@ -73,11 +73,16 @@ env_parallel() {
|
|||
}
|
||||
_remove_bad_NAMES() {
|
||||
# Do not transfer vars and funcs from env_parallel
|
||||
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|_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)$' |
|
||||
# Some versions of grep do not support -E: Use perl
|
||||
# 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|_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|_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|_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)$/ and next;
|
||||
# Filter names matching --env
|
||||
grep -E "^$_grep_REGEXP"\$ | grep -vE "^$_ignore_UNDERSCORE"\$ |
|
||||
/^'"$_grep_REGEXP"'$/ or next;
|
||||
/^'"$_ignore_UNDERSCORE"'$/ and next;
|
||||
# Vars set by /bin/sh
|
||||
grep -Ev '^(_)$'
|
||||
/^(_|TIMEOUT)$/ and next;
|
||||
print;'
|
||||
}
|
||||
|
||||
_get_ignored_VARS() {
|
||||
|
@ -116,14 +121,18 @@ env_parallel() {
|
|||
}
|
||||
_which() {
|
||||
# type returns:
|
||||
# ll is an alias for ls -l (in ash)
|
||||
# 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/ aliased to .*// ||
|
||||
perl -pe '$exit += (s/ is an alias for .*// ||
|
||||
s/ is aliased to .*// ||
|
||||
s/ is a shell builtin// ||
|
||||
s/.* is hashed .(\S+).$/$1/ ||
|
||||
s/.* is (a tracked alias for )?//);
|
||||
END { exit not $exit }'
|
||||
}
|
||||
|
@ -184,6 +193,7 @@ env_parallel() {
|
|||
$_list_function_BODIES;
|
||||
$_list_variable_VALUES;
|
||||
`"
|
||||
|
||||
export PARALLEL_ENV
|
||||
unset _list_alias_BODIES
|
||||
unset _list_variable_VALUES
|
||||
|
@ -256,8 +266,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
|
||||
|
@ -270,9 +280,9 @@ _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 "$@" |
|
||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "' ) )"
|
||||
|
|
|
@ -59,7 +59,7 @@ env_parallel() {
|
|||
}
|
||||
_names_of_VARIABLES() {
|
||||
# This may screw up if variables contain \n and =
|
||||
set | perl -ne 's/^(\S+)=.*/$1/ and print;'
|
||||
set | perl -ne 's/^(\S+?)=.*/$1/ and print;'
|
||||
}
|
||||
_bodies_of_VARIABLES() {
|
||||
# Crappy typeset -p
|
||||
|
@ -121,6 +121,7 @@ env_parallel() {
|
|||
}
|
||||
_which() {
|
||||
# type returns:
|
||||
# ll is an alias for ls -l (in ash)
|
||||
# bash is a tracked alias for /bin/bash
|
||||
# true is a shell builtin
|
||||
# which is /usr/bin/which
|
||||
|
@ -128,7 +129,8 @@ env_parallel() {
|
|||
# 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 .*// ||
|
||||
perl -pe '$exit += (s/ is an alias for .*// ||
|
||||
s/ is aliased to .*// ||
|
||||
s/ is a shell builtin// ||
|
||||
s/.* is hashed .(\S+).$/$1/ ||
|
||||
s/.* is (a tracked alias for )?//);
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
use strict;
|
||||
use Getopt::Long;
|
||||
$Global::progname="niceload";
|
||||
$Global::version = 20171224;
|
||||
$Global::version = 20180122;
|
||||
Getopt::Long::Configure("bundling","require_order");
|
||||
get_options_from_array(\@ARGV) || die_usage();
|
||||
if($opt::version) {
|
||||
|
|
|
@ -96,9 +96,6 @@ if($opt::nonall or $opt::onall) {
|
|||
wait_and_exit(min(undef_as_zero($Global::exitstatus),254));
|
||||
}
|
||||
|
||||
# TODO --transfer foo/./bar --cleanup
|
||||
# multiple --transfer and --basefile with different /./
|
||||
|
||||
$Global::JobQueue = JobQueue->new(
|
||||
\@command,\@input_source_fh,$Global::ContextReplace,
|
||||
$number_of_args,\@Global::transfer_files,\@Global::ret_files);
|
||||
|
@ -1391,7 +1388,7 @@ sub check_invalid_option_combinations {
|
|||
|
||||
sub init_globals {
|
||||
# Defaults:
|
||||
$Global::version = 20180107;
|
||||
$Global::version = 20180122;
|
||||
$Global::progname = 'parallel';
|
||||
$Global::infinity = 2**31;
|
||||
$Global::debug = 0;
|
||||
|
|
|
@ -431,9 +431,9 @@ It is compatible with B<zenity>:
|
|||
|
||||
=item B<--bf> I<file>
|
||||
|
||||
I<file> will be transferred to each sshlogin before a jobs is
|
||||
I<file> will be transferred to each sshlogin before a job is
|
||||
started. It will be removed if B<--cleanup> is active. The file may be
|
||||
a script to run or some common base data needed for the jobs.
|
||||
a script to run or some common base data needed for the job.
|
||||
Multiple B<--bf> can be specified to transfer more basefiles. The
|
||||
I<file> will be transferred the same way as B<--transferfile>.
|
||||
|
||||
|
@ -732,7 +732,7 @@ may not be used. B<--gnu> is kept for compatibility.
|
|||
|
||||
=item B<--group>
|
||||
|
||||
Group output. Output from each jobs is grouped together and is only
|
||||
Group output. Output from each job is grouped together and is only
|
||||
printed when the command is finished. stdout (standard output) first
|
||||
followed by stderr (standard error).
|
||||
|
||||
|
@ -3606,7 +3606,7 @@ To run the command B<uptime> on remote computers you can do:
|
|||
parallel --tag --nonall -S server1,server2 uptime
|
||||
|
||||
B<--nonall> reads no arguments. If you have a list of jobs you want
|
||||
run on each computer you can do:
|
||||
to run on each computer you can do:
|
||||
|
||||
parallel --tag --onall -S server1,server2 echo ::: 1 2 3
|
||||
|
||||
|
|
2
src/sql
2
src/sql
|
@ -576,7 +576,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
|||
exit ($err);
|
||||
|
||||
sub parse_options {
|
||||
$Global::version = 20171224;
|
||||
$Global::version = 20180122;
|
||||
$Global::progname = 'sql';
|
||||
|
||||
# This must be done first as this may exec myself
|
||||
|
|
|
@ -81,7 +81,7 @@ par__memleak() {
|
|||
par_slow_total_jobs() {
|
||||
echo 'bug #51006: Slow total_jobs() eats job'
|
||||
(echo a; sleep 15; echo b; sleep 15; seq 2) |
|
||||
parallel -k echo '{=total_jobs()=}'
|
||||
parallel -k echo '{=total_jobs()=}' 2> >(perl -pe 's/\d/X/g')
|
||||
}
|
||||
|
||||
par_interactive() {
|
||||
|
|
|
@ -4,6 +4,36 @@
|
|||
# Each should be taking 3-10s and be possible to run in parallel
|
||||
# I.e.: No race conditions, no logins
|
||||
|
||||
par_resume_failed_k() {
|
||||
echo '### bug #38299: --resume-failed -k'
|
||||
tmp=$(tempfile)
|
||||
parallel -k --resume-failed --joblog $tmp echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1
|
||||
echo try 2. Gives failing - not 0
|
||||
parallel -k --resume-failed --joblog $tmp echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1
|
||||
echo with exit 0
|
||||
parallel -k --resume-failed --joblog $tmp echo job{#} val {}\;exit 0 ::: 0 1 2 3 0 1
|
||||
echo try 2 again. Gives empty
|
||||
parallel -k --resume-failed --joblog $tmp echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1
|
||||
rm $tmp
|
||||
}
|
||||
|
||||
par_resume_k() {
|
||||
echo '### --resume -k'
|
||||
tmp=$(tempfile)
|
||||
parallel -k --resume --joblog $tmp echo job{}id\;exit {} ::: 0 1 2 3 0 5
|
||||
echo try 2 = nothing
|
||||
parallel -k --resume --joblog $tmp echo job{}id\;exit {} ::: 0 1 2 3 0 5
|
||||
echo two extra
|
||||
parallel -k --resume --joblog $tmp echo job{}id\;exit 0 ::: 0 1 2 3 0 5 6 7
|
||||
rm -f $tmp
|
||||
}
|
||||
|
||||
|
||||
par_pipe_unneeded_procs() {
|
||||
echo '### Test bug #34241: --pipe should not spawn unneeded processes'
|
||||
seq 3 | parallel -j30 --pipe --block-size 10 cat\;echo o 2> >(grep -Ev 'Warning: Starting|Warning: Consider')
|
||||
}
|
||||
|
||||
par_results_arg_256() {
|
||||
echo '### bug #42089: --results with arg > 256 chars (should be 1 char shorter)'
|
||||
parallel --results parallel_test_dir echo ::: 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456;
|
||||
|
@ -167,7 +197,7 @@ par_parcat_mixing() {
|
|||
slow_output() {
|
||||
string=$1
|
||||
perl -e 'print "'$string'"x9000,"start\n"'
|
||||
sleep 3
|
||||
sleep 4
|
||||
perl -e 'print "'$string'"x9000,"end\n"'
|
||||
}
|
||||
tmp1=$(mktmpfifo)
|
||||
|
|
|
@ -16,28 +16,28 @@ par_ash_man() {
|
|||
|
||||
. `which env_parallel.ash`;
|
||||
|
||||
alias myecho='echo aliases'
|
||||
alias myecho='echo aliases with \= \& \"'
|
||||
env_parallel myecho ::: work
|
||||
env_parallel -S server myecho ::: work
|
||||
env_parallel --env myecho myecho ::: work
|
||||
env_parallel --env myecho -S server myecho ::: work
|
||||
|
||||
alias multiline='echo multiline
|
||||
echo aliases'
|
||||
echo aliases with \= \& \"'
|
||||
env_parallel multiline ::: work
|
||||
env_parallel -S server multiline ::: work
|
||||
env_parallel --env multiline multiline ::: work
|
||||
env_parallel --env multiline -S server multiline ::: work
|
||||
alias multiline="dummy"
|
||||
|
||||
myvar=variables
|
||||
myvar='variables with = & "'
|
||||
env_parallel echo '$myvar' ::: work
|
||||
env_parallel -S server echo '$myvar' ::: work
|
||||
env_parallel --env myvar echo '$myvar' ::: work
|
||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
||||
|
||||
multivar='multiline
|
||||
variables'
|
||||
variables with = & "'
|
||||
env_parallel echo '"$multivar"' ::: work
|
||||
env_parallel -S server echo '"$multivar"' ::: work
|
||||
env_parallel --env multivar echo '"$multivar"' ::: work
|
||||
|
@ -61,14 +61,14 @@ par_bash_man() {
|
|||
|
||||
. `which env_parallel.bash`;
|
||||
|
||||
alias myecho='echo aliases'
|
||||
alias myecho='echo aliases with \= \& \"'
|
||||
env_parallel myecho ::: work
|
||||
env_parallel -S server myecho ::: work
|
||||
env_parallel --env myecho myecho ::: work
|
||||
env_parallel --env myecho -S server myecho ::: work
|
||||
|
||||
alias multiline='echo multiline
|
||||
echo aliases'
|
||||
echo aliases with \= \& \"'
|
||||
env_parallel 'multiline {};
|
||||
echo but only when followed by a newline' ::: work
|
||||
env_parallel -S server 'multiline {};
|
||||
|
@ -79,30 +79,30 @@ par_bash_man() {
|
|||
echo but only when followed by a newline' ::: work
|
||||
alias multiline="dummy"
|
||||
|
||||
myfunc() { echo functions $*; }
|
||||
myfunc() { echo functions 'with = & "' $*; }
|
||||
env_parallel myfunc ::: work
|
||||
env_parallel -S server myfunc ::: work
|
||||
env_parallel --env myfunc myfunc ::: work
|
||||
env_parallel --env myfunc -S server myfunc ::: work
|
||||
|
||||
myvar=variables
|
||||
myvar='variables with = & "'
|
||||
env_parallel echo '$myvar' ::: work
|
||||
env_parallel -S server echo '$myvar' ::: work
|
||||
env_parallel --env myvar echo '$myvar' ::: work
|
||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
||||
|
||||
multivar='multiline
|
||||
variables'
|
||||
variables with = & "'
|
||||
env_parallel echo '"$multivar"' ::: work
|
||||
env_parallel -S server echo '"$multivar"' ::: work
|
||||
env_parallel --env multivar echo '"$multivar"' ::: work
|
||||
env_parallel --env multivar -S server echo '"$multivar"' ::: work
|
||||
|
||||
myarray=(arrays work, too)
|
||||
env_parallel -k echo '${myarray[{}]}' ::: 0 1 2
|
||||
env_parallel -k -S server echo '${myarray[{}]}' ::: 0 1 2
|
||||
env_parallel -k --env myarray echo '${myarray[{}]}' ::: 0 1 2
|
||||
env_parallel -k --env myarray -S server echo '${myarray[{}]}' ::: 0 1 2
|
||||
myarray=(arrays 'with = & "' work, too)
|
||||
env_parallel -k echo '${myarray[{}]}' ::: 0 1 2 3
|
||||
env_parallel -k -S server echo '${myarray[{}]}' ::: 0 1 2 3
|
||||
env_parallel -k --env myarray echo '${myarray[{}]}' ::: 0 1 2 3
|
||||
env_parallel -k --env myarray -S server echo '${myarray[{}]}' ::: 0 1 2 3
|
||||
|
||||
env_parallel ::: true false true false
|
||||
echo exit value $? should be 2
|
||||
|
@ -122,7 +122,7 @@ par_csh_man() {
|
|||
|
||||
# source `which env_parallel.csh`;
|
||||
|
||||
alias myecho 'echo aliases'
|
||||
alias myecho 'echo aliases with \= \& \"'
|
||||
env_parallel myecho ::: work
|
||||
env_parallel -S server myecho ::: work
|
||||
env_parallel --env myecho myecho ::: work
|
||||
|
@ -130,17 +130,18 @@ par_csh_man() {
|
|||
|
||||
# Functions not supported
|
||||
|
||||
set myvar=variables
|
||||
set myvar='variables with \= \& \"'
|
||||
env_parallel echo '$myvar' ::: work
|
||||
env_parallel -S server echo '$myvar' ::: work
|
||||
env_parallel --env myvar echo '$myvar' ::: work
|
||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
||||
|
||||
set myarray=(arrays work, too)
|
||||
env_parallel -k echo \$'{myarray[{}]}' ::: 1 2 3
|
||||
env_parallel -k -S server echo \$'{myarray[{}]}' ::: 1 2 3
|
||||
env_parallel -k --env myarray echo \$'{myarray[{}]}' ::: 1 2 3
|
||||
env_parallel -k --env myarray -S server echo \$'{myarray[{}]}' ::: 1 2 3
|
||||
# TODO this is not fixed
|
||||
set myarray=(arrays with\ \=\ \&\ \" work, too)
|
||||
env_parallel -k echo \$'{myarray[{}]}' ::: 1 2 3 4
|
||||
env_parallel -k -S server echo \$'{myarray[{}]}' ::: 1 2 3 4
|
||||
env_parallel -k --env myarray echo \$'{myarray[{}]}' ::: 1 2 3 4
|
||||
env_parallel -k --env myarray -S server echo \$'{myarray[{}]}' ::: 1 2 3 4
|
||||
|
||||
env_parallel ::: true false true false
|
||||
echo exit value $status should be 2
|
||||
|
@ -161,28 +162,28 @@ par_dash_man() {
|
|||
|
||||
. `which env_parallel.dash`;
|
||||
|
||||
alias myecho='echo aliases'
|
||||
alias myecho='echo aliases with \= \& \"'
|
||||
env_parallel myecho ::: work
|
||||
env_parallel -S server myecho ::: work
|
||||
env_parallel --env myecho myecho ::: work
|
||||
env_parallel --env myecho -S server myecho ::: work
|
||||
|
||||
alias multiline='echo multiline
|
||||
echo aliases'
|
||||
echo aliases with \= \& \"'
|
||||
env_parallel multiline ::: work
|
||||
env_parallel -S server multiline ::: work
|
||||
env_parallel --env multiline multiline ::: work
|
||||
env_parallel --env multiline -S server multiline ::: work
|
||||
alias multiline="dummy"
|
||||
|
||||
myvar=variables
|
||||
myvar='variables with = & "'
|
||||
env_parallel echo '$myvar' ::: work
|
||||
env_parallel -S server echo '$myvar' ::: work
|
||||
env_parallel --env myvar echo '$myvar' ::: work
|
||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
||||
|
||||
multivar='multiline
|
||||
variables'
|
||||
variables with = & "'
|
||||
env_parallel echo '"$multivar"' ::: work
|
||||
env_parallel -S server echo '"$multivar"' ::: work
|
||||
env_parallel --env multivar echo '"$multivar"' ::: work
|
||||
|
@ -203,31 +204,31 @@ par_fish_man() {
|
|||
myscript=$(cat <<'_EOF'
|
||||
echo "### From man env_parallel"
|
||||
|
||||
alias myecho 'echo aliases'
|
||||
alias myecho='echo aliases with \= \& \"'
|
||||
env_parallel myecho ::: work
|
||||
env_parallel -S server myecho ::: work
|
||||
env_parallel --env myecho myecho ::: work
|
||||
env_parallel --env myecho -S server myecho ::: work
|
||||
|
||||
function myfunc
|
||||
echo functions $argv
|
||||
echo functions with \= \& \" $argv
|
||||
end
|
||||
env_parallel myfunc ::: work
|
||||
env_parallel -S server myfunc ::: work
|
||||
env_parallel --env myfunc myfunc ::: work
|
||||
env_parallel --env myfunc -S server myfunc ::: work
|
||||
|
||||
set myvar variables
|
||||
set myvar 'variables = & "'
|
||||
env_parallel echo '$myvar' ::: work
|
||||
env_parallel -S server echo '$myvar' ::: work
|
||||
env_parallel --env myvar echo '$myvar' ::: work
|
||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
||||
|
||||
set myarray arrays work, too
|
||||
env_parallel -k echo '$myarray[{}]' ::: 1 2 3
|
||||
env_parallel -k -S server echo '$myarray[{}]' ::: 1 2 3
|
||||
env_parallel -k --env myarray echo '$myarray[{}]' ::: 1 2 3
|
||||
env_parallel -k --env myarray -S server echo '$myarray[{}]' ::: 1 2 3
|
||||
set myarray arrays 'with = & "' work, too
|
||||
env_parallel -k echo '$myarray[{}]' ::: 1 2 3 4
|
||||
env_parallel -k -S server echo '$myarray[{}]' ::: 1 2 3 4
|
||||
env_parallel -k --env myarray echo '$myarray[{}]' ::: 1 2 3 4
|
||||
env_parallel -k --env myarray -S server echo '$myarray[{}]' ::: 1 2 3 4
|
||||
|
||||
env_parallel ::: true false true false
|
||||
echo exit value $status should be 2
|
||||
|
@ -246,33 +247,33 @@ par_ksh_man() {
|
|||
|
||||
. `which env_parallel.ksh`;
|
||||
|
||||
alias myecho='echo aliases'
|
||||
alias myecho='echo aliases with \= \& \"'
|
||||
env_parallel myecho ::: work
|
||||
env_parallel -S server myecho ::: work
|
||||
env_parallel --env myecho myecho ::: work
|
||||
env_parallel --env myecho -S server myecho ::: work
|
||||
|
||||
alias multiline='echo multiline
|
||||
echo aliases'
|
||||
echo aliases with \= \& \"'
|
||||
env_parallel multiline ::: work
|
||||
env_parallel -S server multiline ::: work
|
||||
env_parallel --env multiline multiline ::: work
|
||||
env_parallel --env multiline -S server multiline ::: work
|
||||
alias multiline='dummy'
|
||||
|
||||
myfunc() { echo functions $*; }
|
||||
myfunc() { echo functions 'with = & "' $*; }
|
||||
env_parallel myfunc ::: work
|
||||
env_parallel -S server myfunc ::: work
|
||||
env_parallel --env myfunc myfunc ::: work
|
||||
env_parallel --env myfunc -S server myfunc ::: work
|
||||
|
||||
myvar=variables
|
||||
myvar='variables with = & "'
|
||||
env_parallel echo '$myvar' ::: work
|
||||
env_parallel -S server echo '$myvar' ::: work
|
||||
env_parallel --env myvar echo '$myvar' ::: work
|
||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
||||
|
||||
myarray=(arrays work, too)
|
||||
myarray=(arrays 'with = & "' work, too)
|
||||
env_parallel -k echo '${myarray[{}]}' ::: 0 1 2
|
||||
env_parallel -k -S server echo '${myarray[{}]}' ::: 0 1 2
|
||||
env_parallel -k --env myarray echo '${myarray[{}]}' ::: 0 1 2
|
||||
|
@ -296,28 +297,28 @@ par_sh_man() {
|
|||
|
||||
. `which env_parallel.sh`;
|
||||
|
||||
alias myecho='echo aliases'
|
||||
alias myecho='echo aliases with \= \& \"'
|
||||
env_parallel myecho ::: work
|
||||
env_parallel -S server myecho ::: work
|
||||
env_parallel --env myecho myecho ::: work
|
||||
env_parallel --env myecho -S server myecho ::: work
|
||||
|
||||
alias multiline='echo multiline
|
||||
echo aliases'
|
||||
echo aliases with \= \& \"'
|
||||
env_parallel multiline ::: work
|
||||
env_parallel -S server multiline ::: work
|
||||
env_parallel --env multiline multiline ::: work
|
||||
env_parallel --env multiline -S server multiline ::: work
|
||||
alias multiline="dummy"
|
||||
|
||||
myvar=variables
|
||||
myvar='variables with = & "'
|
||||
env_parallel echo '$myvar' ::: work
|
||||
env_parallel -S server echo '$myvar' ::: work
|
||||
env_parallel --env myvar echo '$myvar' ::: work
|
||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
||||
|
||||
multivar='multiline
|
||||
variables'
|
||||
variables with = & "'
|
||||
env_parallel echo '"$multivar"' ::: work
|
||||
env_parallel -S server echo '"$multivar"' ::: work
|
||||
env_parallel --env multivar echo '"$multivar"' ::: work
|
||||
|
@ -340,7 +341,7 @@ par_tcsh_man() {
|
|||
|
||||
# source `which env_parallel.tcsh`
|
||||
|
||||
alias myecho 'echo aliases'
|
||||
alias myecho 'echo aliases with \= \& \"'
|
||||
env_parallel myecho ::: work
|
||||
env_parallel -S server myecho ::: work
|
||||
env_parallel --env myecho myecho ::: work
|
||||
|
@ -348,13 +349,14 @@ par_tcsh_man() {
|
|||
|
||||
echo Functions not supported
|
||||
|
||||
set myvar=variables
|
||||
set myvar='variables with \= \& \"'
|
||||
env_parallel echo '$myvar' ::: work
|
||||
env_parallel -S server echo '$myvar' ::: work
|
||||
env_parallel --env myvar echo '$myvar' ::: work
|
||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
||||
|
||||
set myarray=(arrays work, too)
|
||||
# TODO this is not fixed
|
||||
set myarray=(arrays with\ \=\ \&\ \" work, too)
|
||||
env_parallel -k echo \$'{myarray[{}]}' ::: 1 2 3
|
||||
env_parallel -k -S server echo \$'{myarray[{}]}' ::: 1 2 3
|
||||
env_parallel -k --env myarray echo \$'{myarray[{}]}' ::: 1 2 3
|
||||
|
@ -377,36 +379,36 @@ par_zsh_man() {
|
|||
|
||||
. `which env_parallel.zsh`;
|
||||
|
||||
alias myecho='echo aliases'
|
||||
alias myecho='echo aliases with \= \& \"'
|
||||
env_parallel myecho ::: work
|
||||
env_parallel -S server myecho ::: work
|
||||
env_parallel --env myecho myecho ::: work
|
||||
env_parallel --env myecho -S server myecho ::: work
|
||||
|
||||
alias multiline='echo multiline
|
||||
echo aliases'
|
||||
echo aliases with \= \& \"'
|
||||
env_parallel multiline ::: work
|
||||
env_parallel -S server multiline ::: work
|
||||
env_parallel --env multiline multiline ::: work
|
||||
env_parallel --env multiline -S server multiline ::: work
|
||||
|
||||
myfunc() { echo functions $*; }
|
||||
myfunc() { echo functions 'with = & "' $*; }
|
||||
env_parallel myfunc ::: work
|
||||
env_parallel -S server myfunc ::: work
|
||||
env_parallel --env myfunc myfunc ::: work
|
||||
env_parallel --env myfunc -S server myfunc ::: work
|
||||
|
||||
myvar=variables
|
||||
myvar='variables with = & "'
|
||||
env_parallel echo '$myvar' ::: work
|
||||
env_parallel -S server echo '$myvar' ::: work
|
||||
env_parallel --env myvar echo '$myvar' ::: work
|
||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
||||
|
||||
myarray=(arrays work, too)
|
||||
env_parallel -k echo '${myarray[{}]}' ::: 1 2 3
|
||||
env_parallel -k -S server echo '${myarray[{}]}' ::: 1 2 3
|
||||
env_parallel -k --env myarray echo '${myarray[{}]}' ::: 1 2 3
|
||||
env_parallel -k --env myarray -S server echo '${myarray[{}]}' ::: 1 2 3
|
||||
myarray=(arrays 'with = & "' work, too)
|
||||
env_parallel -k echo '${myarray[{}]}' ::: 1 2 3 4
|
||||
env_parallel -k -S server echo '${myarray[{}]}' ::: 1 2 3 4
|
||||
env_parallel -k --env myarray echo '${myarray[{}]}' ::: 1 2 3 4
|
||||
env_parallel -k --env myarray -S server echo '${myarray[{}]}' ::: 1 2 3 4
|
||||
|
||||
env_parallel ::: true false true false
|
||||
echo exit value $? should be 2
|
||||
|
|
|
@ -7,7 +7,7 @@ par_path_remote_bash() {
|
|||
rm -rf /tmp/parallel
|
||||
cp /usr/local/bin/parallel /tmp
|
||||
|
||||
cat <<'_EOS' | stdout ssh nopathbash@lo -T | grep -Ev 'updates are security updates|packages can be updated|System restart required|Welcome to|https://|Ubuntu|http://|from 13 to 17 years|mentor:|New release|do-release-upgrade|\s*^$' | uniq
|
||||
cat <<'_EOS' | stdout ssh nopathbash@lo -T | grep -Ev 'For upgrade information, please visit:|updates are security updates|packages can be updated|System restart required|Welcome to|https://|Ubuntu|http://|from 13 to 17 years|mentor:|New release|do-release-upgrade|\s*^$' | uniq
|
||||
echo BASH Path before: $PATH with no parallel
|
||||
parallel echo ::: 1
|
||||
# Race condition stderr/stdout
|
||||
|
@ -28,7 +28,7 @@ par_path_remote_csh() {
|
|||
rm -rf /tmp/parallel
|
||||
cp /usr/local/bin/parallel /tmp
|
||||
|
||||
cat <<'_EOS' | stdout ssh nopathcsh@lo -T | grep -Ev 'updates are security updates|packages can be updated|System restart required|Welcome to|https://|Ubuntu|http://|from 13 to 17 years|mentor:|New release|do-release-upgrade|\s*^$' | uniq
|
||||
cat <<'_EOS' | stdout ssh nopathcsh@lo -T | grep -Ev 'For upgrade information, please visit:|updates are security updates|packages can be updated|System restart required|Welcome to|https://|Ubuntu|http://|from 13 to 17 years|mentor:|New release|do-release-upgrade|\s*^$' | uniq
|
||||
echo CSH Path before: $PATH with no parallel
|
||||
which parallel >& /dev/stdout
|
||||
echo '^^^^^^^^ Not found is OK'
|
||||
|
|
|
@ -108,9 +108,6 @@ echo '### Test of --trim n'
|
|||
echo '### Test of bug: If input is empty string'
|
||||
(echo ; echo abcbdbebf;echo abc) | parallel -k --colsep b -v echo {1}{2}
|
||||
|
||||
echo '### Test bug #34241: --pipe should not spawn unneeded processes'
|
||||
seq 3 | parallel -j30 --pipe --block-size 10 cat\;echo o
|
||||
|
||||
echo '### Test :::: mixed with :::'
|
||||
echo '### Test :::: < ::: :::'
|
||||
parallel -k echo {1} {2} {3} :::: <(seq 6 7) ::: 4 5 ::: 1 2 3
|
||||
|
|
|
@ -14,26 +14,6 @@ seq 9 | /usr/bin/time -f %e parallel -j3 --delay 0.57 true {} 2>&1 |
|
|||
echo '### test --sshdelay'
|
||||
stdout /usr/bin/time -f %e parallel -j0 --sshdelay 0.5 -S localhost true ::: 1 2 3 | perl -ne 'print($_ > 1.30 ? "OK\n" : "Not OK\n")'
|
||||
|
||||
echo '### bug #38299: --resume-failed -k'
|
||||
rm -f /tmp/joblog-38299;
|
||||
parallel -k --resume-failed --joblog /tmp/joblog-38299 echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1;
|
||||
echo try 2. Gives failing - not 0;
|
||||
parallel -k --resume-failed --joblog /tmp/joblog-38299 echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1;
|
||||
echo with exit 0;
|
||||
parallel -k --resume-failed --joblog /tmp/joblog-38299 echo job{#} val {}\;exit 0 ::: 0 1 2 3 0 1;
|
||||
echo try 2 again. Gives empty;
|
||||
parallel -k --resume-failed --joblog /tmp/joblog-38299 echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1;
|
||||
rm /tmp/joblog-38299
|
||||
|
||||
echo '### --resume -k'
|
||||
rm -f /tmp/joblog-resume;
|
||||
parallel -k --resume --joblog /tmp/joblog-resume echo job{}id\;exit {} ::: 0 1 2 3 0 5;
|
||||
echo try 2 = nothing;
|
||||
parallel -k --resume --joblog /tmp/joblog-resume echo job{}id\;exit {} ::: 0 1 2 3 0 5;
|
||||
echo two extra;
|
||||
parallel -k --resume --joblog /tmp/joblog-resume echo job{}id\;exit 0 ::: 0 1 2 3 0 5 6 7;
|
||||
rm -f /tmp/joblog-resume
|
||||
|
||||
echo "bug #37694: Empty string argument skipped when using --quote"
|
||||
parallel -q --nonall perl -le 'print scalar @ARGV' 'a' 'b' ''
|
||||
|
||||
|
|
|
@ -511,11 +511,11 @@ par_results_csv ",
|
|||
par_round_robin_blocks bug #49664: --round-robin does not complete
|
||||
par_round_robin_blocks 8
|
||||
par_slow_total_jobs bug #51006: Slow total_jobs() eats job
|
||||
par_slow_total_jobs parallel: Warning: Reading 2 arguments took longer than 10 seconds.
|
||||
par_slow_total_jobs a
|
||||
par_slow_total_jobs b
|
||||
par_slow_total_jobs 1
|
||||
par_slow_total_jobs 2
|
||||
par_slow_total_jobs parallel: Warning: Reading X arguments took longer than XX seconds.
|
||||
par_tmux_fg bug #50107: --tmux --fg should also write how to access it
|
||||
par_tmux_fg See output with: tmux -S tmp attach
|
||||
par_tmux_fg open terminal failed: not a terminal
|
||||
|
|
|
@ -57,6 +57,11 @@ par_parcat_mixing astart
|
|||
par_parcat_mixing bstart
|
||||
par_parcat_mixing aend
|
||||
par_parcat_mixing bend
|
||||
par_pipe_unneeded_procs ### Test bug #34241: --pipe should not spawn unneeded processes
|
||||
par_pipe_unneeded_procs 1
|
||||
par_pipe_unneeded_procs 2
|
||||
par_pipe_unneeded_procs 3
|
||||
par_pipe_unneeded_procs o
|
||||
par_pipepart_block ### --pipepart --block -# (# < 0)
|
||||
par_pipepart_block 1
|
||||
par_pipepart_block 2
|
||||
|
@ -107,6 +112,35 @@ par_pipepart_block 20-20
|
|||
par_results_arg_256 ### bug #42089: --results with arg > 256 chars (should be 1 char shorter)
|
||||
par_results_arg_256 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456
|
||||
par_results_arg_256 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345
|
||||
par_resume_failed_k ### bug #38299: --resume-failed -k
|
||||
par_resume_failed_k job1 val 0
|
||||
par_resume_failed_k job2 val 1
|
||||
par_resume_failed_k job3 val 2
|
||||
par_resume_failed_k job4 val 3
|
||||
par_resume_failed_k job5 val 0
|
||||
par_resume_failed_k job6 val 1
|
||||
par_resume_failed_k try 2. Gives failing - not 0
|
||||
par_resume_failed_k job2 val 1
|
||||
par_resume_failed_k job3 val 2
|
||||
par_resume_failed_k job4 val 3
|
||||
par_resume_failed_k job6 val 1
|
||||
par_resume_failed_k with exit 0
|
||||
par_resume_failed_k job2 val 1
|
||||
par_resume_failed_k job3 val 2
|
||||
par_resume_failed_k job4 val 3
|
||||
par_resume_failed_k job6 val 1
|
||||
par_resume_failed_k try 2 again. Gives empty
|
||||
par_resume_k ### --resume -k
|
||||
par_resume_k job0id
|
||||
par_resume_k job1id
|
||||
par_resume_k job2id
|
||||
par_resume_k job3id
|
||||
par_resume_k job0id
|
||||
par_resume_k job5id
|
||||
par_resume_k try 2 = nothing
|
||||
par_resume_k two extra
|
||||
par_resume_k job6id
|
||||
par_resume_k job7id
|
||||
par_slow_args_generation ### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834
|
||||
par_slow_args_generation 1
|
||||
par_slow_args_generation 2
|
||||
|
|
|
@ -68,36 +68,40 @@ par_zsh_parset myecho myvar myarr 0 myfun foo myecho myvar myarr 0 myfun ba
|
|||
par_zsh_parset myecho myvar myarr 0 myfun foo myecho myvar myarr 0 myfun bar myecho myvar myarr 0 myfun baz
|
||||
par_zsh_man ### zsh
|
||||
par_zsh_man ### From man env_parallel
|
||||
par_zsh_man aliases work
|
||||
par_zsh_man aliases work
|
||||
par_zsh_man aliases work
|
||||
par_zsh_man aliases work
|
||||
par_zsh_man aliases with = & " work
|
||||
par_zsh_man aliases with = & " work
|
||||
par_zsh_man aliases with = & " work
|
||||
par_zsh_man aliases with = & " work
|
||||
par_zsh_man multiline
|
||||
par_zsh_man aliases work
|
||||
par_zsh_man aliases with = & " work
|
||||
par_zsh_man multiline
|
||||
par_zsh_man aliases work
|
||||
par_zsh_man aliases with = & " work
|
||||
par_zsh_man multiline
|
||||
par_zsh_man aliases work
|
||||
par_zsh_man aliases with = & " work
|
||||
par_zsh_man multiline
|
||||
par_zsh_man aliases work
|
||||
par_zsh_man functions work
|
||||
par_zsh_man functions work
|
||||
par_zsh_man functions work
|
||||
par_zsh_man functions work
|
||||
par_zsh_man variables work
|
||||
par_zsh_man variables work
|
||||
par_zsh_man variables work
|
||||
par_zsh_man variables work
|
||||
par_zsh_man aliases with = & " work
|
||||
par_zsh_man functions with = & " work
|
||||
par_zsh_man functions with = & " work
|
||||
par_zsh_man functions with = & " work
|
||||
par_zsh_man functions with = & " work
|
||||
par_zsh_man variables with = & " work
|
||||
par_zsh_man variables with = & " work
|
||||
par_zsh_man variables with = & " work
|
||||
par_zsh_man variables with = & " work
|
||||
par_zsh_man arrays
|
||||
par_zsh_man with = & "
|
||||
par_zsh_man work,
|
||||
par_zsh_man too
|
||||
par_zsh_man arrays
|
||||
par_zsh_man with = & "
|
||||
par_zsh_man work,
|
||||
par_zsh_man too
|
||||
par_zsh_man arrays
|
||||
par_zsh_man with = & "
|
||||
par_zsh_man work,
|
||||
par_zsh_man too
|
||||
par_zsh_man arrays
|
||||
par_zsh_man with = & "
|
||||
par_zsh_man work,
|
||||
par_zsh_man too
|
||||
par_zsh_man exit value 2 should be 2
|
||||
|
@ -210,27 +214,28 @@ par_tcsh_parset Not implemented
|
|||
par_tcsh_man ### tcsh
|
||||
par_tcsh_man ### From man env_parallel
|
||||
par_tcsh_man #: Command not found.
|
||||
par_tcsh_man aliases work
|
||||
par_tcsh_man aliases work
|
||||
par_tcsh_man aliases work
|
||||
par_tcsh_man aliases work
|
||||
par_tcsh_man aliases with = & " work
|
||||
par_tcsh_man aliases with = & " work
|
||||
par_tcsh_man aliases with = & " work
|
||||
par_tcsh_man aliases with = & " work
|
||||
par_tcsh_man Functions not supported
|
||||
par_tcsh_man variables work
|
||||
par_tcsh_man variables work
|
||||
par_tcsh_man variables work
|
||||
par_tcsh_man variables work
|
||||
par_tcsh_man variables with = & " work
|
||||
par_tcsh_man variables with = & " work
|
||||
par_tcsh_man variables with = & " work
|
||||
par_tcsh_man variables with = & " work
|
||||
par_tcsh_man #: Command not found.
|
||||
par_tcsh_man arrays
|
||||
par_tcsh_man work,
|
||||
par_tcsh_man too
|
||||
par_tcsh_man with
|
||||
par_tcsh_man =
|
||||
par_tcsh_man arrays
|
||||
par_tcsh_man work,
|
||||
par_tcsh_man too
|
||||
par_tcsh_man with
|
||||
par_tcsh_man =
|
||||
par_tcsh_man arrays
|
||||
par_tcsh_man work,
|
||||
par_tcsh_man too
|
||||
par_tcsh_man with
|
||||
par_tcsh_man =
|
||||
par_tcsh_man arrays
|
||||
par_tcsh_man work,
|
||||
par_tcsh_man too
|
||||
par_tcsh_man with
|
||||
par_tcsh_man =
|
||||
par_tcsh_man exit value 2 should be 2
|
||||
par_tcsh_man Unknown option: no-such-option
|
||||
par_tcsh_man Usage:
|
||||
|
@ -349,30 +354,30 @@ par_sh_parset 2
|
|||
par_sh_parset 3
|
||||
par_sh_man ### sh
|
||||
par_sh_man ### From man env_parallel
|
||||
par_sh_man aliases work
|
||||
par_sh_man aliases work
|
||||
par_sh_man aliases work
|
||||
par_sh_man aliases work
|
||||
par_sh_man aliases with = & " work
|
||||
par_sh_man aliases with = & " work
|
||||
par_sh_man aliases with = & " work
|
||||
par_sh_man aliases with = & " work
|
||||
par_sh_man multiline
|
||||
par_sh_man aliases work
|
||||
par_sh_man aliases with = & " work
|
||||
par_sh_man multiline
|
||||
par_sh_man aliases work
|
||||
par_sh_man aliases with = & " work
|
||||
par_sh_man multiline
|
||||
par_sh_man aliases work
|
||||
par_sh_man aliases with = & " work
|
||||
par_sh_man multiline
|
||||
par_sh_man aliases work
|
||||
par_sh_man variables work
|
||||
par_sh_man variables work
|
||||
par_sh_man variables work
|
||||
par_sh_man variables work
|
||||
par_sh_man aliases with = & " work
|
||||
par_sh_man variables with = & " work
|
||||
par_sh_man variables with = & " work
|
||||
par_sh_man variables with = & " work
|
||||
par_sh_man variables with = & " work
|
||||
par_sh_man multiline
|
||||
par_sh_man variables work
|
||||
par_sh_man variables with = & " work
|
||||
par_sh_man multiline
|
||||
par_sh_man variables work
|
||||
par_sh_man variables with = & " work
|
||||
par_sh_man multiline
|
||||
par_sh_man variables work
|
||||
par_sh_man variables with = & " work
|
||||
par_sh_man multiline
|
||||
par_sh_man variables work
|
||||
par_sh_man variables with = & " work
|
||||
par_sh_man exit value 2 should be 2
|
||||
par_sh_man Unknown option: no-such-option
|
||||
par_sh_man exit value 255 should be 255
|
||||
|
@ -387,25 +392,25 @@ par_sh_environment_too_big OK_bigvar_remote
|
|||
par_sh_environment_too_big OK_bigvar_quote
|
||||
par_sh_environment_too_big OK_bigvar_quote_remote
|
||||
par_sh_environment_too_big Rest should fail
|
||||
par_sh_environment_too_big sh: 131: perl: Argument list too long
|
||||
par_sh_environment_too_big sh: 132: perl: Argument list too long
|
||||
par_sh_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_sh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_sh_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_sh_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_sh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_sh_environment_too_big sh: 131: perl: Argument list too long
|
||||
par_sh_environment_too_big sh: 132: perl: Argument list too long
|
||||
par_sh_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_sh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_sh_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_sh_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_sh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_sh_environment_too_big sh: 131: perl: Argument list too long
|
||||
par_sh_environment_too_big sh: 132: perl: Argument list too long
|
||||
par_sh_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_sh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_sh_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_sh_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_sh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_sh_environment_too_big sh: 131: perl: Argument list too long
|
||||
par_sh_environment_too_big sh: 132: perl: Argument list too long
|
||||
par_sh_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_sh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_sh_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
|
@ -488,50 +493,50 @@ par_ksh_parset myecho myvar myarr 1 myfun foo myecho myvar myarr 1 myfun bar m
|
|||
par_ksh_parset myecho myvar myarr 1 myfun foo myecho myvar myarr 1 myfun bar myecho myvar myarr 1 myfun baz
|
||||
par_ksh_man ### ksh
|
||||
par_ksh_man ### From man env_parallel
|
||||
par_ksh_man aliases work
|
||||
par_ksh_man aliases work
|
||||
par_ksh_man aliases work
|
||||
par_ksh_man aliases work
|
||||
par_ksh_man aliases with = & " work
|
||||
par_ksh_man aliases with = & " work
|
||||
par_ksh_man aliases with = & " work
|
||||
par_ksh_man aliases with = & " work
|
||||
par_ksh_man env_parallel: Warning: Alias "multiline" contains newline.
|
||||
par_ksh_man env_parallel: Warning: Make sure the command has at least one newline after "multiline".
|
||||
par_ksh_man env_parallel: Warning: See BUGS in "man env_parallel".
|
||||
par_ksh_man multiline
|
||||
par_ksh_man aliases work
|
||||
par_ksh_man aliases with = & " work
|
||||
par_ksh_man env_parallel: Warning: Alias "multiline" contains newline.
|
||||
par_ksh_man env_parallel: Warning: Make sure the command has at least one newline after "multiline".
|
||||
par_ksh_man env_parallel: Warning: See BUGS in "man env_parallel".
|
||||
par_ksh_man multiline
|
||||
par_ksh_man aliases work
|
||||
par_ksh_man aliases with = & " work
|
||||
par_ksh_man env_parallel: Warning: Alias "multiline" contains newline.
|
||||
par_ksh_man env_parallel: Warning: Make sure the command has at least one newline after "multiline".
|
||||
par_ksh_man env_parallel: Warning: See BUGS in "man env_parallel".
|
||||
par_ksh_man multiline
|
||||
par_ksh_man aliases work
|
||||
par_ksh_man aliases with = & " work
|
||||
par_ksh_man env_parallel: Warning: Alias "multiline" contains newline.
|
||||
par_ksh_man env_parallel: Warning: Make sure the command has at least one newline after "multiline".
|
||||
par_ksh_man env_parallel: Warning: See BUGS in "man env_parallel".
|
||||
par_ksh_man multiline
|
||||
par_ksh_man aliases work
|
||||
par_ksh_man functions work
|
||||
par_ksh_man functions work
|
||||
par_ksh_man functions work
|
||||
par_ksh_man functions work
|
||||
par_ksh_man variables work
|
||||
par_ksh_man variables work
|
||||
par_ksh_man variables work
|
||||
par_ksh_man variables work
|
||||
par_ksh_man aliases with = & " work
|
||||
par_ksh_man functions with = & " work
|
||||
par_ksh_man functions with = & " work
|
||||
par_ksh_man functions with = & " work
|
||||
par_ksh_man functions with = & " work
|
||||
par_ksh_man variables with = & " work
|
||||
par_ksh_man variables with = & " work
|
||||
par_ksh_man variables with = & " work
|
||||
par_ksh_man variables with = & " work
|
||||
par_ksh_man arrays
|
||||
par_ksh_man with = & "
|
||||
par_ksh_man work,
|
||||
par_ksh_man too
|
||||
par_ksh_man arrays
|
||||
par_ksh_man with = & "
|
||||
par_ksh_man work,
|
||||
par_ksh_man too
|
||||
par_ksh_man arrays
|
||||
par_ksh_man with = & "
|
||||
par_ksh_man work,
|
||||
par_ksh_man too
|
||||
par_ksh_man arrays
|
||||
par_ksh_man with = & "
|
||||
par_ksh_man work,
|
||||
par_ksh_man too
|
||||
par_ksh_man exit value 2 should be 2
|
||||
par_ksh_man Unknown option: no-such-option
|
||||
par_ksh_man exit value 255 should be 255
|
||||
|
@ -671,28 +676,32 @@ par_fish_underscore OK if ^^^^^^^^^^^^^^^^^ no myfunc
|
|||
par_fish_parset Not implemented
|
||||
par_fish_man ### fish
|
||||
par_fish_man ### From man env_parallel
|
||||
par_fish_man aliases work
|
||||
par_fish_man aliases work
|
||||
par_fish_man aliases work
|
||||
par_fish_man aliases work
|
||||
par_fish_man functions work
|
||||
par_fish_man functions work
|
||||
par_fish_man functions work
|
||||
par_fish_man functions work
|
||||
par_fish_man variables work
|
||||
par_fish_man variables work
|
||||
par_fish_man variables work
|
||||
par_fish_man variables work
|
||||
par_fish_man aliases with = & " work
|
||||
par_fish_man aliases with = & " work
|
||||
par_fish_man aliases with = & " work
|
||||
par_fish_man aliases with = & " work
|
||||
par_fish_man functions with = & " work
|
||||
par_fish_man functions with = & " work
|
||||
par_fish_man functions with = & " work
|
||||
par_fish_man functions with = & " work
|
||||
par_fish_man variables = & " work
|
||||
par_fish_man variables = & " work
|
||||
par_fish_man variables = & " work
|
||||
par_fish_man variables = & " work
|
||||
par_fish_man arrays
|
||||
par_fish_man with = & "
|
||||
par_fish_man work,
|
||||
par_fish_man too
|
||||
par_fish_man arrays
|
||||
par_fish_man with = & "
|
||||
par_fish_man work,
|
||||
par_fish_man too
|
||||
par_fish_man arrays
|
||||
par_fish_man with = & "
|
||||
par_fish_man work,
|
||||
par_fish_man too
|
||||
par_fish_man arrays
|
||||
par_fish_man with = & "
|
||||
par_fish_man work,
|
||||
par_fish_man too
|
||||
par_fish_man exit value 2 should be 2
|
||||
|
@ -782,30 +791,30 @@ par_dash_parset 2
|
|||
par_dash_parset 3
|
||||
par_dash_man ### dash
|
||||
par_dash_man ### From man env_parallel
|
||||
par_dash_man aliases work
|
||||
par_dash_man aliases work
|
||||
par_dash_man aliases work
|
||||
par_dash_man aliases work
|
||||
par_dash_man aliases with = & " work
|
||||
par_dash_man aliases with = & " work
|
||||
par_dash_man aliases with = & " work
|
||||
par_dash_man aliases with = & " work
|
||||
par_dash_man multiline
|
||||
par_dash_man aliases work
|
||||
par_dash_man aliases with = & " work
|
||||
par_dash_man multiline
|
||||
par_dash_man aliases work
|
||||
par_dash_man aliases with = & " work
|
||||
par_dash_man multiline
|
||||
par_dash_man aliases work
|
||||
par_dash_man aliases with = & " work
|
||||
par_dash_man multiline
|
||||
par_dash_man aliases work
|
||||
par_dash_man variables work
|
||||
par_dash_man variables work
|
||||
par_dash_man variables work
|
||||
par_dash_man variables work
|
||||
par_dash_man aliases with = & " work
|
||||
par_dash_man variables with = & " work
|
||||
par_dash_man variables with = & " work
|
||||
par_dash_man variables with = & " work
|
||||
par_dash_man variables with = & " work
|
||||
par_dash_man multiline
|
||||
par_dash_man variables work
|
||||
par_dash_man variables with = & " work
|
||||
par_dash_man multiline
|
||||
par_dash_man variables work
|
||||
par_dash_man variables with = & " work
|
||||
par_dash_man multiline
|
||||
par_dash_man variables work
|
||||
par_dash_man variables with = & " work
|
||||
par_dash_man multiline
|
||||
par_dash_man variables work
|
||||
par_dash_man variables with = & " work
|
||||
par_dash_man exit value 2 should be 2
|
||||
par_dash_man Unknown option: no-such-option
|
||||
par_dash_man exit value 255 should be 255
|
||||
|
@ -820,25 +829,25 @@ par_dash_environment_too_big OK_bigvar_remote
|
|||
par_dash_environment_too_big OK_bigvar_quote
|
||||
par_dash_environment_too_big OK_bigvar_quote_remote
|
||||
par_dash_environment_too_big Rest should fail
|
||||
par_dash_environment_too_big dash: 125: perl: Argument list too long
|
||||
par_dash_environment_too_big dash: 132: perl: Argument list too long
|
||||
par_dash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_dash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_dash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_dash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_dash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_dash_environment_too_big dash: 125: perl: Argument list too long
|
||||
par_dash_environment_too_big dash: 132: perl: Argument list too long
|
||||
par_dash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_dash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_dash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_dash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_dash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_dash_environment_too_big dash: 125: perl: Argument list too long
|
||||
par_dash_environment_too_big dash: 132: perl: Argument list too long
|
||||
par_dash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_dash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_dash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_dash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_dash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_dash_environment_too_big dash: 125: perl: Argument list too long
|
||||
par_dash_environment_too_big dash: 132: perl: Argument list too long
|
||||
par_dash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_dash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_dash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
|
@ -893,6 +902,10 @@ par_csh_man {+/}/{/..}.{+..} = {...}.{+...} = {+/}/{/...}.{+...}
|
|||
par_csh_man ;login: The USENIX Magazine, February 2011:42-47.
|
||||
par_csh_man O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
|
||||
par_csh_man ### From man env_parallel
|
||||
par_csh_man &
|
||||
par_csh_man &
|
||||
par_csh_man &
|
||||
par_csh_man &
|
||||
par_csh_man --colsep regexp Split input on regexp for positional replacements
|
||||
par_csh_man --nonall Run the given command with no arguments on all sshlogins
|
||||
par_csh_man --onall Run the given command with argument on all sshlogins
|
||||
|
@ -905,6 +918,10 @@ par_csh_man -S sshlogin Example: foo@server.example.com
|
|||
par_csh_man -X Multiple arguments with context replace
|
||||
par_csh_man -j n Run n jobs in parallel
|
||||
par_csh_man -k Keep same order
|
||||
par_csh_man =
|
||||
par_csh_man =
|
||||
par_csh_man =
|
||||
par_csh_man =
|
||||
par_csh_man Academic tradition requires you to cite works you base your article on.
|
||||
par_csh_man If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
||||
par_csh_man If you use programs that use GNU Parallel to process data for an article in a
|
||||
|
@ -913,10 +930,10 @@ par_csh_man This helps funding further development; AND IT WON'T COST YOU A CENT
|
|||
par_csh_man Unknown option: no-such-option
|
||||
par_csh_man Usage:
|
||||
par_csh_man With --plus: {} = {+/}/{/} = {.}.{+.} = {+/}/{/.}.{+.} = {..}.{+..} =
|
||||
par_csh_man aliases work
|
||||
par_csh_man aliases work
|
||||
par_csh_man aliases work
|
||||
par_csh_man aliases work
|
||||
par_csh_man aliases with = & " work
|
||||
par_csh_man aliases with = & " work
|
||||
par_csh_man aliases with = & " work
|
||||
par_csh_man aliases with = & " work
|
||||
par_csh_man arrays
|
||||
par_csh_man arrays
|
||||
par_csh_man arrays
|
||||
|
@ -927,18 +944,14 @@ par_csh_man exit value 2 should be 2
|
|||
par_csh_man parallel [options] [command [arguments]] (::: arguments|:::: argfile(s))...
|
||||
par_csh_man parallel [options] [command [arguments]] < list_of_arguments
|
||||
par_csh_man scientific publication, please cite:
|
||||
par_csh_man too
|
||||
par_csh_man too
|
||||
par_csh_man too
|
||||
par_csh_man too
|
||||
par_csh_man variables work
|
||||
par_csh_man variables work
|
||||
par_csh_man variables work
|
||||
par_csh_man variables work
|
||||
par_csh_man work,
|
||||
par_csh_man work,
|
||||
par_csh_man work,
|
||||
par_csh_man work,
|
||||
par_csh_man variables with = & " work
|
||||
par_csh_man variables with = & " work
|
||||
par_csh_man variables with = & " work
|
||||
par_csh_man variables with = & " work
|
||||
par_csh_man with
|
||||
par_csh_man with
|
||||
par_csh_man with
|
||||
par_csh_man with
|
||||
par_csh_man {3} {3.} {3/} {3/.} {=3 perl code =} Positional replacement strings
|
||||
par_csh_man {} {.} {/} {/.} {#} {%} {= perl code =} Replacement strings
|
||||
par_csh_funky 3 arg alias_works
|
||||
|
@ -1019,60 +1032,64 @@ par_bash_parset myecho myvar myarr 1 myfun foo myecho myvar myarr 1 myfun bar
|
|||
par_bash_parset myecho myvar myarr 1 myfun foo myecho myvar myarr 1 myfun bar myecho myvar myarr 1 myfun baz
|
||||
par_bash_man ### bash
|
||||
par_bash_man ### From man env_parallel
|
||||
par_bash_man aliases work
|
||||
par_bash_man aliases work
|
||||
par_bash_man aliases work
|
||||
par_bash_man aliases work
|
||||
par_bash_man aliases with = & " work
|
||||
par_bash_man aliases with = & " work
|
||||
par_bash_man aliases with = & " work
|
||||
par_bash_man aliases with = & " work
|
||||
par_bash_man env_parallel: Warning: Alias 'multiline' contains newline.
|
||||
par_bash_man env_parallel: Warning: Make sure the command has at least one newline after 'multiline'.
|
||||
par_bash_man env_parallel: Warning: See BUGS in 'man env_parallel'.
|
||||
par_bash_man multiline
|
||||
par_bash_man aliases work
|
||||
par_bash_man aliases with = & " work
|
||||
par_bash_man but only when followed by a newline
|
||||
par_bash_man env_parallel: Warning: Alias 'multiline' contains newline.
|
||||
par_bash_man env_parallel: Warning: Make sure the command has at least one newline after 'multiline'.
|
||||
par_bash_man env_parallel: Warning: See BUGS in 'man env_parallel'.
|
||||
par_bash_man multiline
|
||||
par_bash_man aliases work
|
||||
par_bash_man aliases with = & " work
|
||||
par_bash_man but only when followed by a newline
|
||||
par_bash_man env_parallel: Warning: Alias 'multiline' contains newline.
|
||||
par_bash_man env_parallel: Warning: Make sure the command has at least one newline after 'multiline'.
|
||||
par_bash_man env_parallel: Warning: See BUGS in 'man env_parallel'.
|
||||
par_bash_man multiline
|
||||
par_bash_man aliases work
|
||||
par_bash_man aliases with = & " work
|
||||
par_bash_man but only when followed by a newline
|
||||
par_bash_man env_parallel: Warning: Alias 'multiline' contains newline.
|
||||
par_bash_man env_parallel: Warning: Make sure the command has at least one newline after 'multiline'.
|
||||
par_bash_man env_parallel: Warning: See BUGS in 'man env_parallel'.
|
||||
par_bash_man multiline
|
||||
par_bash_man aliases work
|
||||
par_bash_man aliases with = & " work
|
||||
par_bash_man but only when followed by a newline
|
||||
par_bash_man functions work
|
||||
par_bash_man functions work
|
||||
par_bash_man functions work
|
||||
par_bash_man functions work
|
||||
par_bash_man variables work
|
||||
par_bash_man variables work
|
||||
par_bash_man variables work
|
||||
par_bash_man variables work
|
||||
par_bash_man functions with = & " work
|
||||
par_bash_man functions with = & " work
|
||||
par_bash_man functions with = & " work
|
||||
par_bash_man functions with = & " work
|
||||
par_bash_man variables with = & " work
|
||||
par_bash_man variables with = & " work
|
||||
par_bash_man variables with = & " work
|
||||
par_bash_man variables with = & " work
|
||||
par_bash_man multiline
|
||||
par_bash_man variables work
|
||||
par_bash_man variables with = & " work
|
||||
par_bash_man multiline
|
||||
par_bash_man variables work
|
||||
par_bash_man variables with = & " work
|
||||
par_bash_man multiline
|
||||
par_bash_man variables work
|
||||
par_bash_man variables with = & " work
|
||||
par_bash_man multiline
|
||||
par_bash_man variables work
|
||||
par_bash_man variables with = & " work
|
||||
par_bash_man arrays
|
||||
par_bash_man with = & "
|
||||
par_bash_man work,
|
||||
par_bash_man too
|
||||
par_bash_man arrays
|
||||
par_bash_man with = & "
|
||||
par_bash_man work,
|
||||
par_bash_man too
|
||||
par_bash_man arrays
|
||||
par_bash_man with = & "
|
||||
par_bash_man work,
|
||||
par_bash_man too
|
||||
par_bash_man arrays
|
||||
par_bash_man with = & "
|
||||
par_bash_man work,
|
||||
par_bash_man too
|
||||
par_bash_man exit value 2 should be 2
|
||||
|
@ -1221,30 +1238,30 @@ par_ash_parset 2
|
|||
par_ash_parset 3
|
||||
par_ash_man ### ash
|
||||
par_ash_man ### From man env_parallel
|
||||
par_ash_man aliases work
|
||||
par_ash_man aliases work
|
||||
par_ash_man aliases work
|
||||
par_ash_man aliases work
|
||||
par_ash_man aliases with = & " work
|
||||
par_ash_man aliases with = & " work
|
||||
par_ash_man aliases with = & " work
|
||||
par_ash_man aliases with = & " work
|
||||
par_ash_man multiline
|
||||
par_ash_man aliases work
|
||||
par_ash_man aliases with = & " work
|
||||
par_ash_man multiline
|
||||
par_ash_man aliases work
|
||||
par_ash_man aliases with = & " work
|
||||
par_ash_man multiline
|
||||
par_ash_man aliases work
|
||||
par_ash_man aliases with = & " work
|
||||
par_ash_man multiline
|
||||
par_ash_man aliases work
|
||||
par_ash_man variables work
|
||||
par_ash_man variables work
|
||||
par_ash_man variables work
|
||||
par_ash_man variables work
|
||||
par_ash_man aliases with = & " work
|
||||
par_ash_man variables with = & " work
|
||||
par_ash_man variables with = & " work
|
||||
par_ash_man variables with = & " work
|
||||
par_ash_man variables with = & " work
|
||||
par_ash_man multiline
|
||||
par_ash_man variables work
|
||||
par_ash_man variables with = & " work
|
||||
par_ash_man multiline
|
||||
par_ash_man variables work
|
||||
par_ash_man variables with = & " work
|
||||
par_ash_man multiline
|
||||
par_ash_man variables work
|
||||
par_ash_man variables with = & " work
|
||||
par_ash_man multiline
|
||||
par_ash_man variables work
|
||||
par_ash_man variables with = & " work
|
||||
par_ash_man exit value 2 should be 2
|
||||
par_ash_man Unknown option: no-such-option
|
||||
par_ash_man exit value 255 should be 255
|
||||
|
@ -1259,25 +1276,25 @@ par_ash_environment_too_big OK_bigvar_remote
|
|||
par_ash_environment_too_big OK_bigvar_quote
|
||||
par_ash_environment_too_big OK_bigvar_quote_remote
|
||||
par_ash_environment_too_big Rest should fail
|
||||
par_ash_environment_too_big ash: 125: perl: Argument list too long
|
||||
par_ash_environment_too_big ash: 132: perl: Argument list too long
|
||||
par_ash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_ash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_ash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_ash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_ash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_ash_environment_too_big ash: 125: perl: Argument list too long
|
||||
par_ash_environment_too_big ash: 132: perl: Argument list too long
|
||||
par_ash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_ash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_ash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_ash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_ash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_ash_environment_too_big ash: 125: perl: Argument list too long
|
||||
par_ash_environment_too_big ash: 132: perl: Argument list too long
|
||||
par_ash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_ash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_ash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
par_ash_environment_too_big env_parallel: Error: And the use '--env _'
|
||||
par_ash_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||
par_ash_environment_too_big ash: 125: perl: Argument list too long
|
||||
par_ash_environment_too_big ash: 132: perl: Argument list too long
|
||||
par_ash_environment_too_big env_parallel: Error: Your environment is too big.
|
||||
par_ash_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||
par_ash_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||
|
|
|
@ -209,13 +209,6 @@ echo ac
|
|||
ac
|
||||
echo ac
|
||||
ac
|
||||
echo '### Test bug #34241: --pipe should not spawn unneeded processes'
|
||||
### Test bug #34241: --pipe should not spawn unneeded processes
|
||||
seq 3 | parallel -j30 --pipe --block-size 10 cat\;echo o
|
||||
1
|
||||
2
|
||||
3
|
||||
o
|
||||
echo '### Test :::: mixed with :::'
|
||||
### Test :::: mixed with :::
|
||||
echo '### Test :::: < ::: :::'
|
||||
|
|
|
@ -10,7 +10,7 @@ scientific publication, please cite:
|
|||
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 this citation notice: run 'parallel --citation'.
|
||||
To silence this citation notice: run 'parallel --citation' once.
|
||||
|
||||
echo a
|
||||
a
|
||||
|
@ -30,7 +30,7 @@ scientific publication, please cite:
|
|||
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 this citation notice: run 'parallel --citation'.
|
||||
To silence this citation notice: run 'parallel --citation' once.
|
||||
|
||||
10 files to edit
|
||||
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"file1" [New File][2;1H[94m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[97m[41mE173: 9 more files to edit[1;1H[?12l[?25h[24;1H[m[24;1H[K[24;1H[?1l>[?1049lAcademic tradition requires you to cite works you base your article on.
|
||||
|
|
|
@ -10,39 +10,6 @@ echo '### test --sshdelay'
|
|||
### test --sshdelay
|
||||
stdout /usr/bin/time -f %e parallel -j0 --sshdelay 0.5 -S localhost true ::: 1 2 3 | perl -ne 'print($_ > 1.30 ? "OK\n" : "Not OK\n")'
|
||||
OK
|
||||
echo '### bug #38299: --resume-failed -k'
|
||||
### bug #38299: --resume-failed -k
|
||||
rm -f /tmp/joblog-38299; parallel -k --resume-failed --joblog /tmp/joblog-38299 echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1; echo try 2. Gives failing - not 0; parallel -k --resume-failed --joblog /tmp/joblog-38299 echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1; echo with exit 0; parallel -k --resume-failed --joblog /tmp/joblog-38299 echo job{#} val {}\;exit 0 ::: 0 1 2 3 0 1; echo try 2 again. Gives empty; parallel -k --resume-failed --joblog /tmp/joblog-38299 echo job{#} val {}\;exit {} ::: 0 1 2 3 0 1; rm /tmp/joblog-38299
|
||||
job1 val 0
|
||||
job2 val 1
|
||||
job3 val 2
|
||||
job4 val 3
|
||||
job5 val 0
|
||||
job6 val 1
|
||||
try 2. Gives failing - not 0
|
||||
job2 val 1
|
||||
job3 val 2
|
||||
job4 val 3
|
||||
job6 val 1
|
||||
with exit 0
|
||||
job2 val 1
|
||||
job3 val 2
|
||||
job4 val 3
|
||||
job6 val 1
|
||||
try 2 again. Gives empty
|
||||
echo '### --resume -k'
|
||||
### --resume -k
|
||||
rm -f /tmp/joblog-resume; parallel -k --resume --joblog /tmp/joblog-resume echo job{}id\;exit {} ::: 0 1 2 3 0 5; echo try 2 = nothing; parallel -k --resume --joblog /tmp/joblog-resume echo job{}id\;exit {} ::: 0 1 2 3 0 5; echo two extra; parallel -k --resume --joblog /tmp/joblog-resume echo job{}id\;exit 0 ::: 0 1 2 3 0 5 6 7; rm -f /tmp/joblog-resume
|
||||
job0id
|
||||
job1id
|
||||
job2id
|
||||
job3id
|
||||
job0id
|
||||
job5id
|
||||
try 2 = nothing
|
||||
two extra
|
||||
job6id
|
||||
job7id
|
||||
echo "bug #37694: Empty string argument skipped when using --quote"
|
||||
bug #37694: Empty string argument skipped when using --quote
|
||||
parallel -q --nonall perl -le 'print scalar @ARGV' 'a' 'b' ''
|
||||
|
|
|
@ -61,7 +61,7 @@ echo '### Check that 4 processes are really used'
|
|||
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
|
||||
Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017
|
||||
Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018
|
||||
Ole Tange and Free Software Foundation, Inc.
|
||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
|
|
Loading…
Reference in a new issue