mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-25 15:37:56 +00:00
parallel: --embed initial version. Incompatible with env_*.
env_parallel.*: Minor bugfixes. parallel: More commenting.
This commit is contained in:
parent
b597f4166f
commit
78fade1e62
|
@ -124,6 +124,7 @@ env_parallel() {
|
||||||
# ll is an alias for ls -l (in ash)
|
# ll is an alias for ls -l (in ash)
|
||||||
# bash is a tracked alias for /bin/bash
|
# bash is a tracked alias for /bin/bash
|
||||||
# true is a shell builtin
|
# true is a shell builtin
|
||||||
|
# myfunc is a function
|
||||||
# which is /usr/bin/which
|
# which is /usr/bin/which
|
||||||
# which is hashed (/usr/bin/which)
|
# which is hashed (/usr/bin/which)
|
||||||
# aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
|
# aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
|
||||||
|
@ -131,6 +132,7 @@ env_parallel() {
|
||||||
type "$@" |
|
type "$@" |
|
||||||
perl -pe '$exit += (s/ is an alias for .*// ||
|
perl -pe '$exit += (s/ is an alias for .*// ||
|
||||||
s/ is aliased to .*// ||
|
s/ is aliased to .*// ||
|
||||||
|
s/ is a function// ||
|
||||||
s/ is a shell builtin// ||
|
s/ is a shell builtin// ||
|
||||||
s/.* is hashed .(\S+).$/$1/ ||
|
s/.* is hashed .(\S+).$/$1/ ||
|
||||||
s/.* is (a tracked alias for )?//);
|
s/.* is (a tracked alias for )?//);
|
||||||
|
@ -193,7 +195,6 @@ env_parallel() {
|
||||||
$_list_function_BODIES;
|
$_list_function_BODIES;
|
||||||
$_list_variable_VALUES;
|
$_list_variable_VALUES;
|
||||||
`"
|
`"
|
||||||
|
|
||||||
export PARALLEL_ENV
|
export PARALLEL_ENV
|
||||||
unset _list_alias_BODIES
|
unset _list_alias_BODIES
|
||||||
unset _list_variable_VALUES
|
unset _list_variable_VALUES
|
||||||
|
@ -202,7 +203,7 @@ env_parallel() {
|
||||||
unset _ignore_UNDERSCORE
|
unset _ignore_UNDERSCORE
|
||||||
# Test if environment is too big
|
# Test if environment is too big
|
||||||
if `_which true` >/dev/null 2>/dev/null ; then
|
if `_which true` >/dev/null 2>/dev/null ; then
|
||||||
`_which parallel` "$@";
|
parallel "$@";
|
||||||
_parallel_exit_CODE=$?
|
_parallel_exit_CODE=$?
|
||||||
unset PARALLEL_ENV;
|
unset PARALLEL_ENV;
|
||||||
return $_parallel_exit_CODE
|
return $_parallel_exit_CODE
|
||||||
|
|
|
@ -143,14 +143,20 @@ env_parallel() {
|
||||||
}
|
}
|
||||||
_which() {
|
_which() {
|
||||||
# type returns:
|
# type returns:
|
||||||
|
# ll is an alias for ls -l (in ash)
|
||||||
# bash is a tracked alias for /bin/bash
|
# bash is a tracked alias for /bin/bash
|
||||||
# true is a shell builtin
|
# true is a shell builtin
|
||||||
|
# myfunc is a function (in bash)
|
||||||
|
# myfunc is a shell function (in zsh)
|
||||||
# which is /usr/bin/which
|
# which is /usr/bin/which
|
||||||
# which is hashed (/usr/bin/which)
|
# which is hashed (/usr/bin/which)
|
||||||
# aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
|
# aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
|
||||||
# Return 0 if found, 1 otherwise
|
# Return 0 if found, 1 otherwise
|
||||||
type "$@" |
|
type "$@" |
|
||||||
perl -pe '$exit += (s/ is aliased to .*// ||
|
perl -pe '$exit += (s/ is an alias for .*// ||
|
||||||
|
s/ is aliased to .*// ||
|
||||||
|
s/ is a function// ||
|
||||||
|
s/ is a shell function// ||
|
||||||
s/ is a shell builtin// ||
|
s/ is a shell builtin// ||
|
||||||
s/.* is hashed .(\S+).$/$1/ ||
|
s/.* is hashed .(\S+).$/$1/ ||
|
||||||
s/.* is (a tracked alias for )?//);
|
s/.* is (a tracked alias for )?//);
|
||||||
|
@ -230,7 +236,7 @@ env_parallel() {
|
||||||
unset _ignore_UNDERSCORE
|
unset _ignore_UNDERSCORE
|
||||||
# Test if environment is too big
|
# Test if environment is too big
|
||||||
if [ "`_which true`" == "$_which_true" ] ; then
|
if [ "`_which true`" == "$_which_true" ] ; then
|
||||||
`_which parallel` "$@";
|
parallel "$@";
|
||||||
_parallel_exit_CODE=$?
|
_parallel_exit_CODE=$?
|
||||||
unset PARALLEL_ENV;
|
unset PARALLEL_ENV;
|
||||||
return $_parallel_exit_CODE
|
return $_parallel_exit_CODE
|
||||||
|
|
|
@ -124,6 +124,7 @@ env_parallel() {
|
||||||
# ll is an alias for ls -l (in ash)
|
# ll is an alias for ls -l (in ash)
|
||||||
# bash is a tracked alias for /bin/bash
|
# bash is a tracked alias for /bin/bash
|
||||||
# true is a shell builtin
|
# true is a shell builtin
|
||||||
|
# myfunc is a function
|
||||||
# which is /usr/bin/which
|
# which is /usr/bin/which
|
||||||
# which is hashed (/usr/bin/which)
|
# which is hashed (/usr/bin/which)
|
||||||
# aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
|
# aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
|
||||||
|
@ -131,6 +132,7 @@ env_parallel() {
|
||||||
type "$@" |
|
type "$@" |
|
||||||
perl -pe '$exit += (s/ is an alias for .*// ||
|
perl -pe '$exit += (s/ is an alias for .*// ||
|
||||||
s/ is aliased to .*// ||
|
s/ is aliased to .*// ||
|
||||||
|
s/ is a function// ||
|
||||||
s/ is a shell builtin// ||
|
s/ is a shell builtin// ||
|
||||||
s/.* is hashed .(\S+).$/$1/ ||
|
s/.* is hashed .(\S+).$/$1/ ||
|
||||||
s/.* is (a tracked alias for )?//);
|
s/.* is (a tracked alias for )?//);
|
||||||
|
@ -193,7 +195,6 @@ env_parallel() {
|
||||||
$_list_function_BODIES;
|
$_list_function_BODIES;
|
||||||
$_list_variable_VALUES;
|
$_list_variable_VALUES;
|
||||||
`"
|
`"
|
||||||
|
|
||||||
export PARALLEL_ENV
|
export PARALLEL_ENV
|
||||||
unset _list_alias_BODIES
|
unset _list_alias_BODIES
|
||||||
unset _list_variable_VALUES
|
unset _list_variable_VALUES
|
||||||
|
@ -202,7 +203,7 @@ env_parallel() {
|
||||||
unset _ignore_UNDERSCORE
|
unset _ignore_UNDERSCORE
|
||||||
# Test if environment is too big
|
# Test if environment is too big
|
||||||
if `_which true` >/dev/null 2>/dev/null ; then
|
if `_which true` >/dev/null 2>/dev/null ; then
|
||||||
`_which parallel` "$@";
|
parallel "$@";
|
||||||
_parallel_exit_CODE=$?
|
_parallel_exit_CODE=$?
|
||||||
unset PARALLEL_ENV;
|
unset PARALLEL_ENV;
|
||||||
return $_parallel_exit_CODE
|
return $_parallel_exit_CODE
|
||||||
|
|
|
@ -124,6 +124,7 @@ env_parallel() {
|
||||||
# ll is an alias for ls -l (in ash)
|
# ll is an alias for ls -l (in ash)
|
||||||
# bash is a tracked alias for /bin/bash
|
# bash is a tracked alias for /bin/bash
|
||||||
# true is a shell builtin
|
# true is a shell builtin
|
||||||
|
# myfunc is a function
|
||||||
# which is /usr/bin/which
|
# which is /usr/bin/which
|
||||||
# which is hashed (/usr/bin/which)
|
# which is hashed (/usr/bin/which)
|
||||||
# aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
|
# aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
|
||||||
|
@ -131,6 +132,7 @@ env_parallel() {
|
||||||
type "$@" |
|
type "$@" |
|
||||||
perl -pe '$exit += (s/ is an alias for .*// ||
|
perl -pe '$exit += (s/ is an alias for .*// ||
|
||||||
s/ is aliased to .*// ||
|
s/ is aliased to .*// ||
|
||||||
|
s/ is a function// ||
|
||||||
s/ is a shell builtin// ||
|
s/ is a shell builtin// ||
|
||||||
s/.* is hashed .(\S+).$/$1/ ||
|
s/.* is hashed .(\S+).$/$1/ ||
|
||||||
s/.* is (a tracked alias for )?//);
|
s/.* is (a tracked alias for )?//);
|
||||||
|
@ -193,7 +195,6 @@ env_parallel() {
|
||||||
$_list_function_BODIES;
|
$_list_function_BODIES;
|
||||||
$_list_variable_VALUES;
|
$_list_variable_VALUES;
|
||||||
`"
|
`"
|
||||||
|
|
||||||
export PARALLEL_ENV
|
export PARALLEL_ENV
|
||||||
unset _list_alias_BODIES
|
unset _list_alias_BODIES
|
||||||
unset _list_variable_VALUES
|
unset _list_variable_VALUES
|
||||||
|
@ -202,7 +203,7 @@ env_parallel() {
|
||||||
unset _ignore_UNDERSCORE
|
unset _ignore_UNDERSCORE
|
||||||
# Test if environment is too big
|
# Test if environment is too big
|
||||||
if `_which true` >/dev/null 2>/dev/null ; then
|
if `_which true` >/dev/null 2>/dev/null ; then
|
||||||
`_which parallel` "$@";
|
parallel "$@";
|
||||||
_parallel_exit_CODE=$?
|
_parallel_exit_CODE=$?
|
||||||
unset PARALLEL_ENV;
|
unset PARALLEL_ENV;
|
||||||
return $_parallel_exit_CODE
|
return $_parallel_exit_CODE
|
||||||
|
|
|
@ -94,6 +94,30 @@ env_parallel() {
|
||||||
print $vars ? "($vars)" : "(.*)";
|
print $vars ? "($vars)" : "(.*)";
|
||||||
' -- "$@"
|
' -- "$@"
|
||||||
}
|
}
|
||||||
|
_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
|
||||||
|
# myfunc is a function (in bash)
|
||||||
|
# myfunc is a shell function (in zsh)
|
||||||
|
# which is /usr/bin/which
|
||||||
|
# which is hashed (/usr/bin/which)
|
||||||
|
# aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
|
||||||
|
# Return 0 if found, 1 otherwise
|
||||||
|
type "$@" |
|
||||||
|
perl -pe '$exit += (s/ is an alias for .*// ||
|
||||||
|
s/ is aliased to .*// ||
|
||||||
|
s/ is a function// ||
|
||||||
|
s/ is a shell function// ||
|
||||||
|
s/ is a shell builtin// ||
|
||||||
|
s/.* is hashed .(\S+).$/$1/ ||
|
||||||
|
s/.* is (a tracked alias for )?//);
|
||||||
|
END { exit not $exit }'
|
||||||
|
}
|
||||||
|
_warning() {
|
||||||
|
echo "env_parallel: Warning: $@" >&2
|
||||||
|
}
|
||||||
|
|
||||||
if which parallel | grep 'no parallel in' >/dev/null; then
|
if which parallel | grep 'no parallel in' >/dev/null; then
|
||||||
echo 'env_parallel: Error: parallel must be in $PATH.' >&2
|
echo 'env_parallel: Error: parallel must be in $PATH.' >&2
|
||||||
|
@ -162,8 +186,8 @@ env_parallel() {
|
||||||
unset _grep_REGEXP
|
unset _grep_REGEXP
|
||||||
unset _ignore_UNDERSCORE
|
unset _ignore_UNDERSCORE
|
||||||
# Test if environment is too big
|
# Test if environment is too big
|
||||||
if `which /bin/true` >/dev/null 2>/dev/null ; then
|
if `_which /bin/true` >/dev/null 2>/dev/null ; then
|
||||||
`which parallel` "$@";
|
parallel "$@";
|
||||||
_parallel_exit_CODE=$?
|
_parallel_exit_CODE=$?
|
||||||
unset PARALLEL_ENV;
|
unset PARALLEL_ENV;
|
||||||
return $_parallel_exit_CODE
|
return $_parallel_exit_CODE
|
||||||
|
@ -227,8 +251,8 @@ _parset_main() {
|
||||||
}
|
}
|
||||||
exit $exitval;
|
exit $exitval;
|
||||||
' || return 255
|
' || return 255
|
||||||
if echo "$_parset_name" | grep -E ',| ' >/dev/null ; then
|
if perl -e 'exit not grep /,| /, @ARGV' "$_parset_name" ; then
|
||||||
# $1 contains , or space
|
# $_parset_name contains , or space
|
||||||
# Split on , or space to get the names
|
# Split on , or space to get the names
|
||||||
eval "$(
|
eval "$(
|
||||||
# Compute results into files
|
# Compute results into files
|
||||||
|
@ -241,9 +265,9 @@ _parset_main() {
|
||||||
)
|
)
|
||||||
)"
|
)"
|
||||||
else
|
else
|
||||||
# $1 contains no space or ,
|
# $_parset_name does not contain , or space
|
||||||
# => $1 is the name of the array to put data into
|
# => $_parset_name is the name of the array to put data into
|
||||||
# Supported in: bash
|
# Supported in: bash zsh ksh
|
||||||
# Arrays do not work in: ash dash
|
# Arrays do not work in: ash dash
|
||||||
eval "$_parset_name=( $( $_parset_parallel_prg --files -k "$@" |
|
eval "$_parset_name=( $( $_parset_parallel_prg --files -k "$@" |
|
||||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "' ) )"
|
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "' ) )"
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
use strict;
|
use strict;
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
$Global::progname="niceload";
|
$Global::progname="niceload";
|
||||||
$Global::version = 20180122;
|
$Global::version = 20180123;
|
||||||
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) {
|
||||||
|
|
131
src/parallel
131
src/parallel
|
@ -134,7 +134,6 @@ drain_job_queue();
|
||||||
::debug("init", "Done draining\n");
|
::debug("init", "Done draining\n");
|
||||||
reaper();
|
reaper();
|
||||||
::debug("init", "Done reaping\n");
|
::debug("init", "Done reaping\n");
|
||||||
::debug("init", "Cleaning\n");
|
|
||||||
if($Global::semaphore) {
|
if($Global::semaphore) {
|
||||||
$sem->release();
|
$sem->release();
|
||||||
}
|
}
|
||||||
|
@ -183,8 +182,12 @@ sub set_input_source_header {
|
||||||
}
|
}
|
||||||
|
|
||||||
sub max_jobs_running {
|
sub max_jobs_running {
|
||||||
|
# Compute $Global::max_jobs_running as the max number of jobs
|
||||||
|
# running on each sshlogin.
|
||||||
|
# Returns:
|
||||||
|
# $Global::max_jobs_running
|
||||||
if(not $Global::max_jobs_running) {
|
if(not $Global::max_jobs_running) {
|
||||||
# Compute $Global::max_jobs_running
|
|
||||||
for my $sshlogin (values %Global::host) {
|
for my $sshlogin (values %Global::host) {
|
||||||
$sshlogin->max_jobs_running();
|
$sshlogin->max_jobs_running();
|
||||||
}
|
}
|
||||||
|
@ -193,6 +196,9 @@ sub max_jobs_running {
|
||||||
}
|
}
|
||||||
|
|
||||||
sub halt {
|
sub halt {
|
||||||
|
# Compute exit value,
|
||||||
|
# wait for children to complete
|
||||||
|
# and exit
|
||||||
if($opt::halt and $Global::halt_when ne "never") {
|
if($opt::halt and $Global::halt_when ne "never") {
|
||||||
if(not defined $Global::halt_exitstatus) {
|
if(not defined $Global::halt_exitstatus) {
|
||||||
if($Global::halt_pct) {
|
if($Global::halt_pct) {
|
||||||
|
@ -212,6 +218,12 @@ sub halt {
|
||||||
sub __PIPE_MODE__ {}
|
sub __PIPE_MODE__ {}
|
||||||
|
|
||||||
sub pipepart_setup {
|
sub pipepart_setup {
|
||||||
|
# Compute the blocksize
|
||||||
|
# Generate the commands to extract the blocks
|
||||||
|
# Push the commands on queue
|
||||||
|
# Changes:
|
||||||
|
# @Global::cat_prepends
|
||||||
|
# $Global::JobQueue
|
||||||
if($opt::tee) {
|
if($opt::tee) {
|
||||||
# Prepend each command with
|
# Prepend each command with
|
||||||
# cat file
|
# cat file
|
||||||
|
@ -256,31 +268,39 @@ sub pipepart_setup {
|
||||||
}
|
}
|
||||||
|
|
||||||
sub pipe_tee_setup {
|
sub pipe_tee_setup {
|
||||||
# mkfifo t1..5
|
# Create temporary fifos
|
||||||
|
# Run 'tee fifo1 fifo2 fifo3 ... fifoN' in the background
|
||||||
|
# This will spread the input to fifos
|
||||||
|
# Generate commands that reads from fifo1..N:
|
||||||
|
# cat fifo | user_command
|
||||||
|
# Changes:
|
||||||
|
# @Global::cat_prepends
|
||||||
my @fifos;
|
my @fifos;
|
||||||
for(1..$Global::JobQueue->total_jobs()) {
|
for(1..$Global::JobQueue->total_jobs()) {
|
||||||
push @fifos, tmpfifo();
|
push @fifos, tmpfifo();
|
||||||
}
|
}
|
||||||
# cat foo | tee t1 t2 t3 t4 t5 > /dev/null
|
# cat foo | tee fifo1 fifo2 fifo3 fifo4 fifo5 > /dev/null
|
||||||
if(not fork()){
|
if(not fork()){
|
||||||
# Let tee inherit our stdin
|
# Let tee inherit our stdin
|
||||||
# and redirect stdout to null
|
# and redirect stdout to null
|
||||||
open STDOUT, ">","/dev/null";
|
open STDOUT, ">","/dev/null";
|
||||||
exec "tee",@fifos;
|
exec "tee",@fifos;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Make cats for each fifo
|
# Make cats for each fifo
|
||||||
# cat t1 | grep 1
|
# cat fifo1 | grep 1
|
||||||
# cat t2 | grep 2
|
# cat fifo2 | grep 2
|
||||||
# cat t3 | grep 3
|
# cat fifo3 | grep 3
|
||||||
# cat t4 | grep 4
|
# cat fifo4 | grep 4
|
||||||
# cat t5 | grep 5
|
# cat fifo5 | grep 5
|
||||||
# Remove the tmpfifo as soon as it is open
|
# Remove the tmpfifo as soon as it is open
|
||||||
# 'exec' saves a process
|
# 'exec' saves a process
|
||||||
@Global::cat_prepends = map { "(rm $_; exec cat) < $_" } @fifos;
|
@Global::cat_prepends = map { "(rm $_; exec cat) < $_" } @fifos;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub pipe_part_files {
|
sub pipe_part_files {
|
||||||
|
# Given the bigfile
|
||||||
|
# find header and split positions
|
||||||
|
# make commands that 'cat's the partial file
|
||||||
# Input:
|
# Input:
|
||||||
# $file = the file to read
|
# $file = the file to read
|
||||||
# Returns:
|
# Returns:
|
||||||
|
@ -304,6 +324,7 @@ sub pipe_part_files {
|
||||||
}
|
}
|
||||||
|
|
||||||
sub find_header {
|
sub find_header {
|
||||||
|
# Compute the header based on $opt::header
|
||||||
# Input:
|
# Input:
|
||||||
# $buf_ref = reference to read-in buffer
|
# $buf_ref = reference to read-in buffer
|
||||||
# $fh = filehandle to read from
|
# $fh = filehandle to read from
|
||||||
|
@ -329,6 +350,7 @@ sub find_header {
|
||||||
}
|
}
|
||||||
|
|
||||||
sub find_split_positions {
|
sub find_split_positions {
|
||||||
|
# Find positions in bigfile where recend is followed by recstart
|
||||||
# Input:
|
# Input:
|
||||||
# $file = the file to read
|
# $file = the file to read
|
||||||
# $block = (minimal) --block-size of each chunk
|
# $block = (minimal) --block-size of each chunk
|
||||||
|
@ -356,8 +378,10 @@ sub find_split_positions {
|
||||||
for(my $pos = $block+$headerlen; $pos < $size; $pos += $block) {
|
for(my $pos = $block+$headerlen; $pos < $size; $pos += $block) {
|
||||||
my $buf;
|
my $buf;
|
||||||
if($recendrecstart eq "") {
|
if($recendrecstart eq "") {
|
||||||
|
# records ends anywhere
|
||||||
push(@pos,$pos);
|
push(@pos,$pos);
|
||||||
} else {
|
} else {
|
||||||
|
# Seek the the block start
|
||||||
seek($fh, $pos, 0) || die;
|
seek($fh, $pos, 0) || die;
|
||||||
while(read($fh,substr($buf,length $buf,0),$dd_block_size)) {
|
while(read($fh,substr($buf,length $buf,0),$dd_block_size)) {
|
||||||
if($opt::regexp) {
|
if($opt::regexp) {
|
||||||
|
@ -389,6 +413,7 @@ sub find_split_positions {
|
||||||
}
|
}
|
||||||
|
|
||||||
sub cat_partial {
|
sub cat_partial {
|
||||||
|
# Efficient command to copy from byte X to byte Y
|
||||||
# Input:
|
# Input:
|
||||||
# $file = the file to read
|
# $file = the file to read
|
||||||
# ($start, $end, [$start2, $end2, ...]) = start byte, end byte
|
# ($start, $end, [$start2, $end2, ...]) = start byte, end byte
|
||||||
|
@ -396,7 +421,7 @@ sub cat_partial {
|
||||||
# Efficient command to copy $start..$end, $start2..$end2, ... to stdout
|
# Efficient command to copy $start..$end, $start2..$end2, ... to stdout
|
||||||
my($file, @start_end) = @_;
|
my($file, @start_end) = @_;
|
||||||
my($start, $i);
|
my($start, $i);
|
||||||
# Convert start_end to start_len
|
# Convert (start,end) to (start,len)
|
||||||
my @start_len = map {
|
my @start_len = map {
|
||||||
if(++$i % 2) { $start = $_; } else { $_-$start }
|
if(++$i % 2) { $start = $_; } else { $_-$start }
|
||||||
} @start_end;
|
} @start_end;
|
||||||
|
@ -1049,6 +1074,7 @@ sub options_hash {
|
||||||
"pipepart|pipe-part" => \$opt::pipepart,
|
"pipepart|pipe-part" => \$opt::pipepart,
|
||||||
"tee" => \$opt::tee,
|
"tee" => \$opt::tee,
|
||||||
"hgrp|hostgrp|hostgroup|hostgroups" => \$opt::hostgroups,
|
"hgrp|hostgrp|hostgroup|hostgroups" => \$opt::hostgroups,
|
||||||
|
"embed" => \$opt::embed,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1117,6 +1143,7 @@ sub parse_options {
|
||||||
wait_and_exit(255);
|
wait_and_exit(255);
|
||||||
}
|
}
|
||||||
$Global::cshell = $Global::shell =~ m:/csh:;
|
$Global::cshell = $Global::shell =~ m:/csh:;
|
||||||
|
|
||||||
if(defined $opt::X) { $Global::ContextReplace = 1; }
|
if(defined $opt::X) { $Global::ContextReplace = 1; }
|
||||||
if(defined $opt::silent) { $Global::verbose = 0; }
|
if(defined $opt::silent) { $Global::verbose = 0; }
|
||||||
if(defined $opt::null) { $/ = "\0"; }
|
if(defined $opt::null) { $/ = "\0"; }
|
||||||
|
@ -1141,6 +1168,7 @@ sub parse_options {
|
||||||
$ENV{'PARALLEL_RSYNC_OPTS'} || '-rlDzR';
|
$ENV{'PARALLEL_RSYNC_OPTS'} || '-rlDzR';
|
||||||
$opt::nice ||= 0;
|
$opt::nice ||= 0;
|
||||||
if(defined $opt::help) { usage(); exit(0); }
|
if(defined $opt::help) { usage(); exit(0); }
|
||||||
|
if(defined $opt::embed) { embed(); exit(0); }
|
||||||
if(defined $opt::sqlandworker) {
|
if(defined $opt::sqlandworker) {
|
||||||
$opt::sqlmaster = $opt::sqlworker = $opt::sqlandworker;
|
$opt::sqlmaster = $opt::sqlworker = $opt::sqlandworker;
|
||||||
}
|
}
|
||||||
|
@ -1388,7 +1416,7 @@ sub check_invalid_option_combinations {
|
||||||
|
|
||||||
sub init_globals {
|
sub init_globals {
|
||||||
# Defaults:
|
# Defaults:
|
||||||
$Global::version = 20180122;
|
$Global::version = 20180123;
|
||||||
$Global::progname = 'parallel';
|
$Global::progname = 'parallel';
|
||||||
$Global::infinity = 2**31;
|
$Global::infinity = 2**31;
|
||||||
$Global::debug = 0;
|
$Global::debug = 0;
|
||||||
|
@ -4246,6 +4274,79 @@ sub show_limits {
|
||||||
"press CTRL-D or CTRL-C\n");
|
"press CTRL-D or CTRL-C\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub embed {
|
||||||
|
# Give an embeddable version of GNU Parallel
|
||||||
|
# Tested with: bash, zsh, ksh, ash, dash, sh
|
||||||
|
my $randomstring = "cut-here-".join"",
|
||||||
|
map { (0..9,"a".."z","A".."Z")[rand(62)] } (1..30);
|
||||||
|
if(not -f $0 or not -r $0) {
|
||||||
|
::error("--embed only works if parallel is a readable file");
|
||||||
|
exit(255);
|
||||||
|
}
|
||||||
|
if(open(my $fh, "<", $0)) {
|
||||||
|
# Read the source from $0
|
||||||
|
# Remove comments and indention to save space
|
||||||
|
my @source = map { s/^\s+//;$_ } grep {!/^\s*#[^!]/} <$fh>;
|
||||||
|
my $user = $ENV{LOGNAME} || $ENV{USERNAME} || $ENV{USER};
|
||||||
|
print "#!$Global::shell
|
||||||
|
|
||||||
|
# Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,
|
||||||
|
# 2017,2018 $user, Ole Tange and Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, see <http://www.gnu.org/licenses/>
|
||||||
|
# or write to the Free Software Foundation, Inc., 51 Franklin St,
|
||||||
|
# Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
";
|
||||||
|
if($Global::shell =~ m:/bash|/ksh|/zsh:) {
|
||||||
|
print"
|
||||||
|
# Embedded GNU Parallel created with --embed
|
||||||
|
# Define parallel function
|
||||||
|
parallel() {
|
||||||
|
perl <(cat <<'$randomstring'
|
||||||
|
",@source,"
|
||||||
|
$randomstring
|
||||||
|
) \"\$@\"
|
||||||
|
}
|
||||||
|
|
||||||
|
# This will call the function above
|
||||||
|
parallel -k echo ::: Put your code here
|
||||||
|
";
|
||||||
|
} elsif($Global::shell =~ m:/ash|/dash|/sh:) {
|
||||||
|
print "
|
||||||
|
# Embedded GNU Parallel created with --embed
|
||||||
|
# Make temporary file with the source code
|
||||||
|
parallel_program=\`tempfile\`
|
||||||
|
cat <<'$randomstring' > \$parallel_program
|
||||||
|
",@source,"
|
||||||
|
$randomstring
|
||||||
|
chmod +x \$parallel_program
|
||||||
|
alias parallel=\$parallel_program
|
||||||
|
|
||||||
|
# This will call the alias above
|
||||||
|
parallel -k echo ::: Put your code here
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
rm \$parallel_program
|
||||||
|
"
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
::error("Cannot open $0");
|
||||||
|
exit(255);
|
||||||
|
}
|
||||||
|
::status("Redirect the output to a file and add your changes at the end:",
|
||||||
|
" $0 --embed > new_script");
|
||||||
|
}
|
||||||
|
|
||||||
sub __GENERIC_COMMON_FUNCTION__ {}
|
sub __GENERIC_COMMON_FUNCTION__ {}
|
||||||
|
|
||||||
|
@ -4516,8 +4617,12 @@ sub spacefree {
|
||||||
my $spaces = shift;
|
my $spaces = shift;
|
||||||
my $s = shift;
|
my $s = shift;
|
||||||
$s =~ s/#.*//mg;
|
$s =~ s/#.*//mg;
|
||||||
if($spaces) {
|
if(1 == $spaces) {
|
||||||
$s =~ s/\s+/ /mg;
|
$s =~ s/\s+/ /mg;
|
||||||
|
} elsif(2 == $spaces) {
|
||||||
|
# Keep newlines
|
||||||
|
$s =~ s/\n\n+/\n/sg;
|
||||||
|
$s =~ s/[ \t]+/ /mg;
|
||||||
} else {
|
} else {
|
||||||
$s =~ s/\s//mg;
|
$s =~ s/\s//mg;
|
||||||
}
|
}
|
||||||
|
|
|
@ -646,6 +646,20 @@ 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<--embed> (alpha testing)
|
||||||
|
|
||||||
|
Embed GNU B<parallel> in a shell script. If you need to distribute your
|
||||||
|
script to someone who does not want to install GNU B<parallel> you can
|
||||||
|
embed GNU B<parallel> in your own shell script:
|
||||||
|
|
||||||
|
parallel --embed > new_script
|
||||||
|
|
||||||
|
After which you add your code at the end of B<new_script>. This is tested
|
||||||
|
on B<ash>, B<bash>, B<dash>, B<ksh>, B<sh>, and B<zsh>.
|
||||||
|
|
||||||
|
It is not compatible with B<env_parallel>, B<parset>, and B<env_parset>.
|
||||||
|
|
||||||
|
|
||||||
=item B<--env> I<var>
|
=item B<--env> I<var>
|
||||||
|
|
||||||
Copy environment variable I<var>. This will copy I<var> to the
|
Copy environment variable I<var>. This will copy I<var> to the
|
||||||
|
@ -2091,7 +2105,6 @@ contain the same information as B<--joblog>, the values from the input
|
||||||
sources (stored in columns V1 .. Vn), and the output (stored in
|
sources (stored in columns V1 .. Vn), and the output (stored in
|
||||||
columns Stdout and Stderr).
|
columns Stdout and Stderr).
|
||||||
|
|
||||||
|
|
||||||
If I<DBURL> is prepended with '+' GNU B<parallel> assumes the table is
|
If I<DBURL> is prepended with '+' GNU B<parallel> assumes the table is
|
||||||
already made with the correct columns and appends the jobs to it.
|
already made with the correct columns and appends the jobs to it.
|
||||||
|
|
||||||
|
@ -2354,13 +2367,13 @@ different dir for the files. Setting B<--tmpdir> is equivalent to
|
||||||
setting $TMPDIR.
|
setting $TMPDIR.
|
||||||
|
|
||||||
|
|
||||||
=item B<--tmux>
|
=item B<--tmux> (Long beta testing)
|
||||||
|
|
||||||
Use B<tmux> for output. Start a B<tmux> session and run each job in a
|
Use B<tmux> for output. Start a B<tmux> session and run each job in a
|
||||||
window in that session. No other output will be produced.
|
window in that session. No other output will be produced.
|
||||||
|
|
||||||
|
|
||||||
=item B<--tmuxpane>
|
=item B<--tmuxpane> (Long beta testing)
|
||||||
|
|
||||||
Use B<tmux> for output but put output into panes in the first window.
|
Use B<tmux> for output but put output into panes in the first window.
|
||||||
Useful if you want to monitor the progress of less than 100 concurrent
|
Useful if you want to monitor the progress of less than 100 concurrent
|
||||||
|
@ -4604,6 +4617,11 @@ because I<command> is an alias or a function. If it is a function you
|
||||||
need to B<export -f> the function first or use B<env_parallel>. An
|
need to B<export -f> the function first or use B<env_parallel>. An
|
||||||
alias will only work if you use B<env_parallel>.
|
alias will only work if you use B<env_parallel>.
|
||||||
|
|
||||||
|
=head2 Database with MySQL fails randomly
|
||||||
|
|
||||||
|
The B<--sql*> options may fail randomly with MySQL. This problem does
|
||||||
|
not exist with PostgreSQL.
|
||||||
|
|
||||||
|
|
||||||
=head1 REPORTING BUGS
|
=head1 REPORTING BUGS
|
||||||
|
|
||||||
|
|
|
@ -1367,6 +1367,27 @@ and fails on B<pyargs traceroute gnu.org fsf.org>.
|
||||||
parallel seq ::: 1 2 3 4 5 6
|
parallel seq ::: 1 2 3 4 5 6
|
||||||
|
|
||||||
|
|
||||||
|
=head2 DIFFERENCES BETWEEN concurrently AND GNU Parallel
|
||||||
|
|
||||||
|
B<concurrently> runs jobs in parallel.
|
||||||
|
|
||||||
|
The output is prepended with the job number, and may be incomplete:
|
||||||
|
|
||||||
|
$ concurrently 'seq 100000' | (sleep 3;wc -l)
|
||||||
|
7165
|
||||||
|
|
||||||
|
When pretty printing it caches output in memory. Output mixes by using
|
||||||
|
test A below wether or not output is cached.
|
||||||
|
|
||||||
|
There seems to be no way of making a template command and have
|
||||||
|
B<concurrently> fill that with different args. The full commands must
|
||||||
|
be given on the command line.
|
||||||
|
|
||||||
|
There is also no way of controlling how many jobs should be run in
|
||||||
|
parallel at a time - i.e. "number of jobslots". Instead all jobs are
|
||||||
|
simply started in parallel.
|
||||||
|
|
||||||
|
|
||||||
=head2 Todo
|
=head2 Todo
|
||||||
|
|
||||||
machma. Requires Go >= 1.7.
|
machma. Requires Go >= 1.7.
|
||||||
|
|
|
@ -11,7 +11,7 @@ parset - set shell variables in parallel
|
||||||
|
|
||||||
B<parset> I<variablename> [options for GNU Parallel]
|
B<parset> I<variablename> [options for GNU Parallel]
|
||||||
|
|
||||||
B<env_parset> I<variablename> [options for GNU Parallel] (alpha testing)
|
B<env_parset> I<variablename> [options for GNU Parallel] (beta testing)
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
|
2
src/sql
2
src/sql
|
@ -576,7 +576,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
||||||
exit ($err);
|
exit ($err);
|
||||||
|
|
||||||
sub parse_options {
|
sub parse_options {
|
||||||
$Global::version = 20180122;
|
$Global::version = 20180123;
|
||||||
$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
|
||||||
|
|
|
@ -16,33 +16,41 @@ par_ash_man() {
|
||||||
|
|
||||||
. `which env_parallel.ash`;
|
. `which env_parallel.ash`;
|
||||||
|
|
||||||
alias myecho='echo aliases with \= \& \"'
|
alias myecho='echo aliases with \= \& \" \!'" \'"
|
||||||
|
myecho work
|
||||||
env_parallel myecho ::: work
|
env_parallel myecho ::: work
|
||||||
env_parallel -S server myecho ::: work
|
env_parallel -S server myecho ::: work
|
||||||
env_parallel --env myecho myecho ::: work
|
env_parallel --env myecho myecho ::: work
|
||||||
env_parallel --env myecho -S server myecho ::: work
|
env_parallel --env myecho -S server myecho ::: work
|
||||||
|
|
||||||
alias multiline='echo multiline
|
alias multiline='echo multiline
|
||||||
echo aliases with \= \& \"'
|
echo aliases with \= \& \" \!'" \'"
|
||||||
|
multiline work
|
||||||
env_parallel multiline ::: work
|
env_parallel multiline ::: work
|
||||||
env_parallel -S server multiline ::: work
|
env_parallel -S server multiline ::: work
|
||||||
env_parallel --env multiline multiline ::: work
|
env_parallel --env multiline multiline ::: work
|
||||||
env_parallel --env multiline -S server multiline ::: work
|
env_parallel --env multiline -S server multiline ::: work
|
||||||
alias multiline="dummy"
|
alias multiline="dummy"
|
||||||
|
|
||||||
myvar='variables with = & "'
|
# Functions are not supported in ash
|
||||||
env_parallel echo '$myvar' ::: work
|
|
||||||
env_parallel -S server echo '$myvar' ::: work
|
myvar='variables with = & " !'" '"
|
||||||
env_parallel --env myvar echo '$myvar' ::: work
|
echo "$myvar" work
|
||||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
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
|
multivar='multiline
|
||||||
variables with = & "'
|
variables with = & " !'" '"
|
||||||
|
echo "$multivar" work
|
||||||
env_parallel echo '"$multivar"' ::: work
|
env_parallel echo '"$multivar"' ::: work
|
||||||
env_parallel -S server echo '"$multivar"' ::: work
|
env_parallel -S server echo '"$multivar"' ::: work
|
||||||
env_parallel --env multivar echo '"$multivar"' ::: work
|
env_parallel --env multivar echo '"$multivar"' ::: work
|
||||||
env_parallel --env multivar -S server echo '"$multivar"' ::: work
|
env_parallel --env multivar -S server echo '"$multivar"' ::: work
|
||||||
|
|
||||||
|
# Arrays are not supported in ash
|
||||||
|
|
||||||
env_parallel ::: true false true false
|
env_parallel ::: true false true false
|
||||||
echo exit value $? should be 2
|
echo exit value $? should be 2
|
||||||
|
|
||||||
|
@ -60,15 +68,19 @@ par_bash_man() {
|
||||||
echo "### From man env_parallel"
|
echo "### From man env_parallel"
|
||||||
|
|
||||||
. `which env_parallel.bash`;
|
. `which env_parallel.bash`;
|
||||||
|
shopt -s expand_aliases&>/dev/null;
|
||||||
|
|
||||||
alias myecho='echo aliases with \= \& \"'
|
alias myecho='echo aliases with \= \& \" \!'" \'"
|
||||||
|
myecho work
|
||||||
env_parallel myecho ::: work
|
env_parallel myecho ::: work
|
||||||
env_parallel -S server myecho ::: work
|
env_parallel -S server myecho ::: work
|
||||||
env_parallel --env myecho myecho ::: work
|
env_parallel --env myecho myecho ::: work
|
||||||
env_parallel --env myecho -S server myecho ::: work
|
env_parallel --env myecho -S server myecho ::: work
|
||||||
|
|
||||||
|
# multiline aliases with when followed by newline
|
||||||
alias multiline='echo multiline
|
alias multiline='echo multiline
|
||||||
echo aliases with \= \& \"'
|
echo aliases with \= \& \" \!'" \'"
|
||||||
|
multiline work
|
||||||
env_parallel 'multiline {};
|
env_parallel 'multiline {};
|
||||||
echo but only when followed by a newline' ::: work
|
echo but only when followed by a newline' ::: work
|
||||||
env_parallel -S server 'multiline {};
|
env_parallel -S server 'multiline {};
|
||||||
|
@ -78,31 +90,35 @@ par_bash_man() {
|
||||||
env_parallel --env multiline -S server 'multiline {};
|
env_parallel --env multiline -S server 'multiline {};
|
||||||
echo but only when followed by a newline' ::: work
|
echo but only when followed by a newline' ::: work
|
||||||
alias multiline="dummy"
|
alias multiline="dummy"
|
||||||
|
|
||||||
myfunc() { echo functions 'with = & "' $*; }
|
myfunc() { echo functions 'with = & " !'" '" $*; }
|
||||||
|
myfunc work
|
||||||
env_parallel myfunc ::: work
|
env_parallel myfunc ::: work
|
||||||
env_parallel -S server myfunc ::: work
|
env_parallel -S server myfunc ::: work
|
||||||
env_parallel --env myfunc myfunc ::: work
|
env_parallel --env myfunc myfunc ::: work
|
||||||
env_parallel --env myfunc -S server myfunc ::: work
|
env_parallel --env myfunc -S server myfunc ::: work
|
||||||
|
|
||||||
myvar='variables with = & "'
|
myvar='variables with = & " !'" '"
|
||||||
env_parallel echo '$myvar' ::: work
|
echo "$myvar" work
|
||||||
env_parallel -S server echo '$myvar' ::: work
|
env_parallel echo '"$myvar"' ::: work
|
||||||
env_parallel --env myvar echo '$myvar' ::: work
|
env_parallel -S server echo '"$myvar"' ::: work
|
||||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
env_parallel --env myvar echo '"$myvar"' ::: work
|
||||||
|
env_parallel --env myvar -S server echo '"$myvar"' ::: work
|
||||||
|
|
||||||
multivar='multiline
|
multivar='multiline
|
||||||
variables with = & "'
|
variables with = & " !'" '"
|
||||||
|
echo "$multivar" work
|
||||||
env_parallel echo '"$multivar"' ::: work
|
env_parallel echo '"$multivar"' ::: work
|
||||||
env_parallel -S server echo '"$multivar"' ::: work
|
env_parallel -S server echo '"$multivar"' ::: work
|
||||||
env_parallel --env multivar echo '"$multivar"' ::: work
|
env_parallel --env multivar echo '"$multivar"' ::: work
|
||||||
env_parallel --env multivar -S server echo '"$multivar"' ::: work
|
env_parallel --env multivar -S server echo '"$multivar"' ::: work
|
||||||
|
|
||||||
myarray=(arrays 'with = & "' work, too)
|
myarray=(arrays 'with = & " !'" '" work, too)
|
||||||
env_parallel -k echo '${myarray[{}]}' ::: 0 1 2 3
|
echo "${myarray[0]}" "${myarray[1]}" "${myarray[2]}" "${myarray[3]}"
|
||||||
env_parallel -k -S server echo '${myarray[{}]}' ::: 0 1 2 3
|
env_parallel -k echo '"${myarray[{}]}"' ::: 0 1 2 3
|
||||||
env_parallel -k --env myarray echo '${myarray[{}]}' ::: 0 1 2 3
|
env_parallel -k -S server echo '"${myarray[{}]}"' ::: 0 1 2 3
|
||||||
env_parallel -k --env myarray -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
|
env_parallel ::: true false true false
|
||||||
echo exit value $? should be 2
|
echo exit value $? should be 2
|
||||||
|
@ -130,14 +146,17 @@ par_csh_man() {
|
||||||
|
|
||||||
# Functions not supported
|
# Functions not supported
|
||||||
|
|
||||||
|
# TODO This does not work
|
||||||
|
# set myvar='variables with = & "'" '"
|
||||||
set myvar='variables with \= \& \"'
|
set myvar='variables with \= \& \"'
|
||||||
env_parallel echo '$myvar' ::: work
|
env_parallel echo '$myvar' ::: work
|
||||||
env_parallel -S server echo '$myvar' ::: work
|
env_parallel -S server echo '$myvar' ::: work
|
||||||
env_parallel --env myvar echo '$myvar' ::: work
|
env_parallel --env myvar echo '$myvar' ::: work
|
||||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
env_parallel --env myvar -S server echo '$myvar' ::: work
|
||||||
|
|
||||||
# TODO this is not fixed
|
# Space is not supported in arrays
|
||||||
set myarray=(arrays with\ \=\ \&\ \" work, too)
|
|
||||||
|
set myarray=(arrays with\=\&\""'" work, too)
|
||||||
env_parallel -k echo \$'{myarray[{}]}' ::: 1 2 3 4
|
env_parallel -k echo \$'{myarray[{}]}' ::: 1 2 3 4
|
||||||
env_parallel -k -S server 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 echo \$'{myarray[{}]}' ::: 1 2 3 4
|
||||||
|
@ -162,33 +181,41 @@ par_dash_man() {
|
||||||
|
|
||||||
. `which env_parallel.dash`;
|
. `which env_parallel.dash`;
|
||||||
|
|
||||||
alias myecho='echo aliases with \= \& \"'
|
alias myecho='echo aliases with \= \& \" \!'" \'"
|
||||||
|
myecho work
|
||||||
env_parallel myecho ::: work
|
env_parallel myecho ::: work
|
||||||
env_parallel -S server myecho ::: work
|
env_parallel -S server myecho ::: work
|
||||||
env_parallel --env myecho myecho ::: work
|
env_parallel --env myecho myecho ::: work
|
||||||
env_parallel --env myecho -S server myecho ::: work
|
env_parallel --env myecho -S server myecho ::: work
|
||||||
|
|
||||||
alias multiline='echo multiline
|
alias multiline='echo multiline
|
||||||
echo aliases with \= \& \"'
|
echo aliases with \= \& \" \!'" \'"
|
||||||
|
multiline work
|
||||||
env_parallel multiline ::: work
|
env_parallel multiline ::: work
|
||||||
env_parallel -S server multiline ::: work
|
env_parallel -S server multiline ::: work
|
||||||
env_parallel --env multiline multiline ::: work
|
env_parallel --env multiline multiline ::: work
|
||||||
env_parallel --env multiline -S server multiline ::: work
|
env_parallel --env multiline -S server multiline ::: work
|
||||||
alias multiline="dummy"
|
alias multiline="dummy"
|
||||||
|
|
||||||
myvar='variables with = & "'
|
# Functions are not supported in dash
|
||||||
env_parallel echo '$myvar' ::: work
|
|
||||||
env_parallel -S server echo '$myvar' ::: work
|
myvar='variables with = & " !'" '"
|
||||||
env_parallel --env myvar echo '$myvar' ::: work
|
echo "$myvar" work
|
||||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
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
|
multivar='multiline
|
||||||
variables with = & "'
|
variables with = & " !'" '"
|
||||||
|
echo "$multivar" work
|
||||||
env_parallel echo '"$multivar"' ::: work
|
env_parallel echo '"$multivar"' ::: work
|
||||||
env_parallel -S server echo '"$multivar"' ::: work
|
env_parallel -S server echo '"$multivar"' ::: work
|
||||||
env_parallel --env multivar echo '"$multivar"' ::: work
|
env_parallel --env multivar echo '"$multivar"' ::: work
|
||||||
env_parallel --env multivar -S server echo '"$multivar"' ::: work
|
env_parallel --env multivar -S server echo '"$multivar"' ::: work
|
||||||
|
|
||||||
|
# Arrays are not supported in dash
|
||||||
|
|
||||||
env_parallel ::: true false true false
|
env_parallel ::: true false true false
|
||||||
echo exit value $? should be 2
|
echo exit value $? should be 2
|
||||||
|
|
||||||
|
@ -204,27 +231,41 @@ par_fish_man() {
|
||||||
myscript=$(cat <<'_EOF'
|
myscript=$(cat <<'_EOF'
|
||||||
echo "### From man env_parallel"
|
echo "### From man env_parallel"
|
||||||
|
|
||||||
alias myecho='echo aliases with \= \& \"'
|
alias myecho='echo aliases with \= \& \" \!'" \'"
|
||||||
|
myecho work
|
||||||
env_parallel myecho ::: work
|
env_parallel myecho ::: work
|
||||||
env_parallel -S server myecho ::: work
|
env_parallel -S server myecho ::: work
|
||||||
env_parallel --env myecho myecho ::: work
|
env_parallel --env myecho myecho ::: work
|
||||||
env_parallel --env myecho -S server myecho ::: work
|
env_parallel --env myecho -S server myecho ::: work
|
||||||
|
|
||||||
|
# multiline aliases does not work in fish
|
||||||
|
|
||||||
function myfunc
|
function myfunc
|
||||||
echo functions with \= \& \" $argv
|
echo functions 'with = & " !'" '" $argv;
|
||||||
end
|
end
|
||||||
|
myfunc work
|
||||||
env_parallel myfunc ::: work
|
env_parallel myfunc ::: work
|
||||||
env_parallel -S server myfunc ::: work
|
env_parallel -S server myfunc ::: work
|
||||||
env_parallel --env myfunc myfunc ::: work
|
env_parallel --env myfunc myfunc ::: work
|
||||||
env_parallel --env myfunc -S server myfunc ::: work
|
env_parallel --env myfunc -S server myfunc ::: work
|
||||||
|
|
||||||
set myvar 'variables = & "'
|
set myvar 'variables with = & " !'" '"
|
||||||
|
echo "$myvar" work
|
||||||
env_parallel echo '$myvar' ::: work
|
env_parallel echo '$myvar' ::: work
|
||||||
env_parallel -S server echo '$myvar' ::: work
|
env_parallel -S server echo '$myvar' ::: work
|
||||||
env_parallel --env myvar echo '$myvar' ::: work
|
env_parallel --env myvar echo '$myvar' ::: work
|
||||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
env_parallel --env myvar -S server echo '$myvar' ::: work
|
||||||
|
|
||||||
set myarray arrays 'with = & "' work, too
|
set multivar 'multiline
|
||||||
|
variables with = & " !'" '"
|
||||||
|
echo "$multivar" work
|
||||||
|
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
|
||||||
|
|
||||||
|
set myarray arrays 'with = & " !'" '" work, too
|
||||||
|
echo $myarray[1] $myarray[2] $myarray[3] $myarray[4]
|
||||||
env_parallel -k echo '$myarray[{}]' ::: 1 2 3 4
|
env_parallel -k echo '$myarray[{}]' ::: 1 2 3 4
|
||||||
env_parallel -k -S server 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 echo '$myarray[{}]' ::: 1 2 3 4
|
||||||
|
@ -247,37 +288,50 @@ par_ksh_man() {
|
||||||
|
|
||||||
. `which env_parallel.ksh`;
|
. `which env_parallel.ksh`;
|
||||||
|
|
||||||
alias myecho='echo aliases with \= \& \"'
|
alias myecho='echo aliases with \= \& \" \!'" \'"
|
||||||
|
myecho work
|
||||||
env_parallel myecho ::: work
|
env_parallel myecho ::: work
|
||||||
env_parallel -S server myecho ::: work
|
env_parallel -S server myecho ::: work
|
||||||
env_parallel --env myecho myecho ::: work
|
env_parallel --env myecho myecho ::: work
|
||||||
env_parallel --env myecho -S server myecho ::: work
|
env_parallel --env myecho -S server myecho ::: work
|
||||||
|
|
||||||
alias multiline='echo multiline
|
alias multiline='echo multiline
|
||||||
echo aliases with \= \& \"'
|
echo aliases with \= \& \" \!'" \'"
|
||||||
|
multiline work
|
||||||
env_parallel multiline ::: work
|
env_parallel multiline ::: work
|
||||||
env_parallel -S server multiline ::: work
|
env_parallel -S server multiline ::: work
|
||||||
env_parallel --env multiline multiline ::: work
|
env_parallel --env multiline multiline ::: work
|
||||||
env_parallel --env multiline -S server multiline ::: work
|
env_parallel --env multiline -S server multiline ::: work
|
||||||
alias multiline='dummy'
|
alias multiline='dummy'
|
||||||
|
|
||||||
myfunc() { echo functions 'with = & "' $*; }
|
myfunc() { echo functions 'with = & " !'" '" $*; }
|
||||||
|
myfunc work
|
||||||
env_parallel myfunc ::: work
|
env_parallel myfunc ::: work
|
||||||
env_parallel -S server myfunc ::: work
|
env_parallel -S server myfunc ::: work
|
||||||
env_parallel --env myfunc myfunc ::: work
|
env_parallel --env myfunc myfunc ::: work
|
||||||
env_parallel --env myfunc -S server myfunc ::: work
|
env_parallel --env myfunc -S server myfunc ::: work
|
||||||
|
|
||||||
myvar='variables with = & "'
|
myvar='variables with = & " !'" '"
|
||||||
env_parallel echo '$myvar' ::: work
|
echo "$myvar" work
|
||||||
env_parallel -S server echo '$myvar' ::: work
|
env_parallel echo '"$myvar"' ::: work
|
||||||
env_parallel --env myvar echo '$myvar' ::: work
|
env_parallel -S server echo '"$myvar"' ::: work
|
||||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
env_parallel --env myvar echo '"$myvar"' ::: work
|
||||||
|
env_parallel --env myvar -S server echo '"$myvar"' ::: work
|
||||||
myarray=(arrays 'with = & "' work, too)
|
|
||||||
env_parallel -k echo '${myarray[{}]}' ::: 0 1 2
|
multivar='multiline
|
||||||
env_parallel -k -S server echo '${myarray[{}]}' ::: 0 1 2
|
variables with = & " !'" '"
|
||||||
env_parallel -k --env myarray echo '${myarray[{}]}' ::: 0 1 2
|
echo "$multivar" work
|
||||||
env_parallel -k --env myarray -S server echo '${myarray[{}]}' ::: 0 1 2
|
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 'with = & " !'" '" work, too)
|
||||||
|
echo "${myarray[0]}" "${myarray[1]}" "${myarray[2]}" "${myarray[3]}"
|
||||||
|
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
|
env_parallel ::: true false true false
|
||||||
echo exit value $? should be 2
|
echo exit value $? should be 2
|
||||||
|
@ -297,33 +351,41 @@ par_sh_man() {
|
||||||
|
|
||||||
. `which env_parallel.sh`;
|
. `which env_parallel.sh`;
|
||||||
|
|
||||||
alias myecho='echo aliases with \= \& \"'
|
alias myecho='echo aliases with \= \& \" \!'" \'"
|
||||||
|
myecho work
|
||||||
env_parallel myecho ::: work
|
env_parallel myecho ::: work
|
||||||
env_parallel -S server myecho ::: work
|
env_parallel -S server myecho ::: work
|
||||||
env_parallel --env myecho myecho ::: work
|
env_parallel --env myecho myecho ::: work
|
||||||
env_parallel --env myecho -S server myecho ::: work
|
env_parallel --env myecho -S server myecho ::: work
|
||||||
|
|
||||||
alias multiline='echo multiline
|
alias multiline='echo multiline
|
||||||
echo aliases with \= \& \"'
|
echo aliases with \= \& \" \!'" \'"
|
||||||
|
multiline work
|
||||||
env_parallel multiline ::: work
|
env_parallel multiline ::: work
|
||||||
env_parallel -S server multiline ::: work
|
env_parallel -S server multiline ::: work
|
||||||
env_parallel --env multiline multiline ::: work
|
env_parallel --env multiline multiline ::: work
|
||||||
env_parallel --env multiline -S server multiline ::: work
|
env_parallel --env multiline -S server multiline ::: work
|
||||||
alias multiline="dummy"
|
alias multiline="dummy"
|
||||||
|
|
||||||
myvar='variables with = & "'
|
# Functions not supported
|
||||||
env_parallel echo '$myvar' ::: work
|
|
||||||
env_parallel -S server echo '$myvar' ::: work
|
myvar='variables with = & " !'" '"
|
||||||
env_parallel --env myvar echo '$myvar' ::: work
|
echo "$myvar" work
|
||||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
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
|
multivar='multiline
|
||||||
variables with = & "'
|
variables with = & " !'" '"
|
||||||
|
echo "$multivar" work
|
||||||
env_parallel echo '"$multivar"' ::: work
|
env_parallel echo '"$multivar"' ::: work
|
||||||
env_parallel -S server echo '"$multivar"' ::: work
|
env_parallel -S server echo '"$multivar"' ::: work
|
||||||
env_parallel --env multivar echo '"$multivar"' ::: work
|
env_parallel --env multivar echo '"$multivar"' ::: work
|
||||||
env_parallel --env multivar -S server echo '"$multivar"' ::: work
|
env_parallel --env multivar -S server echo '"$multivar"' ::: work
|
||||||
|
|
||||||
|
# Arrays are not supported by sh
|
||||||
|
|
||||||
env_parallel ::: true false true false
|
env_parallel ::: true false true false
|
||||||
echo exit value $? should be 2
|
echo exit value $? should be 2
|
||||||
|
|
||||||
|
@ -349,18 +411,21 @@ par_tcsh_man() {
|
||||||
|
|
||||||
echo Functions not supported
|
echo Functions not supported
|
||||||
|
|
||||||
|
# TODO This does not work
|
||||||
|
# set myvar='variables with = & "'" '"
|
||||||
set myvar='variables with \= \& \"'
|
set myvar='variables with \= \& \"'
|
||||||
env_parallel echo '$myvar' ::: work
|
env_parallel echo '$myvar' ::: work
|
||||||
env_parallel -S server echo '$myvar' ::: work
|
env_parallel -S server echo '$myvar' ::: work
|
||||||
env_parallel --env myvar echo '$myvar' ::: work
|
env_parallel --env myvar echo '$myvar' ::: work
|
||||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
env_parallel --env myvar -S server echo '$myvar' ::: work
|
||||||
|
|
||||||
# TODO this is not fixed
|
# Space is not supported in arrays
|
||||||
set myarray=(arrays with\ \=\ \&\ \" work, too)
|
|
||||||
env_parallel -k echo \$'{myarray[{}]}' ::: 1 2 3
|
set myarray=(arrays with\=\&\""'" work, too)
|
||||||
env_parallel -k -S server echo \$'{myarray[{}]}' ::: 1 2 3
|
env_parallel -k echo \$'{myarray[{}]}' ::: 1 2 3 4
|
||||||
env_parallel -k --env myarray echo \$'{myarray[{}]}' ::: 1 2 3
|
env_parallel -k -S server echo \$'{myarray[{}]}' ::: 1 2 3 4
|
||||||
env_parallel -k --env myarray -S server echo \$'{myarray[{}]}' ::: 1 2 3
|
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
|
env_parallel ::: true false true false
|
||||||
echo exit value $status should be 2
|
echo exit value $status should be 2
|
||||||
|
@ -374,41 +439,59 @@ _EOF
|
||||||
|
|
||||||
par_zsh_man() {
|
par_zsh_man() {
|
||||||
echo '### zsh'
|
echo '### zsh'
|
||||||
|
# eval is needed make aliases work
|
||||||
myscript=$(cat <<'_EOF'
|
myscript=$(cat <<'_EOF'
|
||||||
echo "### From man env_parallel"
|
echo "### From man env_parallel"
|
||||||
|
|
||||||
. `which env_parallel.zsh`;
|
. `which env_parallel.zsh`;
|
||||||
|
|
||||||
alias myecho='echo aliases with \= \& \"'
|
alias myecho='echo aliases with \= \& \" \!'" \'"
|
||||||
|
# eval is needed make aliases work
|
||||||
|
eval myecho work
|
||||||
env_parallel myecho ::: work
|
env_parallel myecho ::: work
|
||||||
env_parallel -S server myecho ::: work
|
env_parallel -S server myecho ::: work
|
||||||
env_parallel --env myecho myecho ::: work
|
env_parallel --env myecho myecho ::: work
|
||||||
env_parallel --env myecho -S server myecho ::: work
|
env_parallel --env myecho -S server myecho ::: work
|
||||||
|
|
||||||
alias multiline='echo multiline
|
alias multiline='echo multiline
|
||||||
echo aliases with \= \& \"'
|
echo aliases with \= \& \" \!'" \'"
|
||||||
|
# eval is needed make aliases work
|
||||||
|
eval multiline work
|
||||||
env_parallel multiline ::: work
|
env_parallel multiline ::: work
|
||||||
env_parallel -S server multiline ::: work
|
env_parallel -S server multiline ::: work
|
||||||
env_parallel --env multiline multiline ::: work
|
env_parallel --env multiline multiline ::: work
|
||||||
env_parallel --env multiline -S server multiline ::: work
|
env_parallel --env multiline -S server multiline ::: work
|
||||||
|
alias multiline="dummy"
|
||||||
myfunc() { echo functions 'with = & "' $*; }
|
|
||||||
|
myfunc() { echo functions 'with = & " !'" '" $*; }
|
||||||
|
myfunc work
|
||||||
env_parallel myfunc ::: work
|
env_parallel myfunc ::: work
|
||||||
env_parallel -S server myfunc ::: work
|
env_parallel -S server myfunc ::: work
|
||||||
env_parallel --env myfunc myfunc ::: work
|
env_parallel --env myfunc myfunc ::: work
|
||||||
env_parallel --env myfunc -S server myfunc ::: work
|
env_parallel --env myfunc -S server myfunc ::: work
|
||||||
|
|
||||||
myvar='variables with = & "'
|
myvar='variables with = & " !'" '"
|
||||||
env_parallel echo '$myvar' ::: work
|
echo "$myvar" work
|
||||||
env_parallel -S server echo '$myvar' ::: work
|
env_parallel echo '"$myvar"' ::: work
|
||||||
env_parallel --env myvar echo '$myvar' ::: work
|
env_parallel -S server echo '"$myvar"' ::: work
|
||||||
env_parallel --env myvar -S server echo '$myvar' ::: work
|
env_parallel --env myvar echo '"$myvar"' ::: work
|
||||||
|
env_parallel --env myvar -S server echo '"$myvar"' ::: work
|
||||||
myarray=(arrays 'with = & "' work, too)
|
|
||||||
env_parallel -k echo '${myarray[{}]}' ::: 1 2 3 4
|
multivar='multiline
|
||||||
env_parallel -k -S server echo '${myarray[{}]}' ::: 1 2 3 4
|
variables with = & " !'" '"
|
||||||
env_parallel -k --env myarray echo '${myarray[{}]}' ::: 1 2 3 4
|
echo "$multivar" work
|
||||||
env_parallel -k --env myarray -S server echo '${myarray[{}]}' ::: 1 2 3 4
|
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 'with = & " !'" '" work, too)
|
||||||
|
# zsh counts from 1 - not 0
|
||||||
|
echo "${myarray[1]}" "${myarray[2]}" "${myarray[3]}" "${myarray[4]}"
|
||||||
|
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
|
env_parallel ::: true false true false
|
||||||
echo exit value $? should be 2
|
echo exit value $? should be 2
|
||||||
|
|
131
testsuite/tests-to-run/parallel-local-ssh9.sh
Normal file
131
testsuite/tests-to-run/parallel-local-ssh9.sh
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
par_ash_embed() {
|
||||||
|
myscript=$(cat <<'_EOF'
|
||||||
|
echo '--embed'
|
||||||
|
parallel --embed | tac | perl -pe '
|
||||||
|
/^parallel/ and not $seen++ and s{^}{
|
||||||
|
echo \$b
|
||||||
|
parset a,b,c echo ::: ParsetOK ParsetOK ParsetOK
|
||||||
|
env_parallel echo ::: env_parallel_OK
|
||||||
|
parallel echo ::: parallel_OK
|
||||||
|
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
# Do not look for parallel in /usr/local/bin
|
||||||
|
. \`which env_parallel.ash\`
|
||||||
|
}
|
||||||
|
' | tac > parallel-embed
|
||||||
|
chmod +x parallel-embed
|
||||||
|
./parallel-embed
|
||||||
|
# rm parallel-embed
|
||||||
|
_EOF
|
||||||
|
)
|
||||||
|
ssh ash@lo "$myscript"
|
||||||
|
}
|
||||||
|
|
||||||
|
par_bash_embed() {
|
||||||
|
myscript=$(cat <<'_EOF'
|
||||||
|
echo '--embed'
|
||||||
|
parallel --embed | tac | perl -pe '
|
||||||
|
/^parallel/ and not $seen++ and s{^}{
|
||||||
|
echo \${a[1]}
|
||||||
|
parset a echo ::: ParsetOK ParsetOK ParsetOK
|
||||||
|
env_parallel echo ::: env_parallel_OK
|
||||||
|
parallel echo ::: parallel_OK
|
||||||
|
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
# Do not look for parallel in /usr/local/bin
|
||||||
|
. \`which env_parallel.bash\`
|
||||||
|
}
|
||||||
|
' | tac > parallel-embed
|
||||||
|
chmod +x parallel-embed
|
||||||
|
./parallel-embed
|
||||||
|
rm parallel-embed
|
||||||
|
_EOF
|
||||||
|
)
|
||||||
|
ssh bash@lo "$myscript"
|
||||||
|
}
|
||||||
|
|
||||||
|
par_csh_embed() {
|
||||||
|
echo Not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
par_fish_embed() {
|
||||||
|
echo Not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
par_ksh_embed() {
|
||||||
|
myscript=$(cat <<'_EOF'
|
||||||
|
echo '--embed'
|
||||||
|
parallel --embed | tac | perl -pe '
|
||||||
|
/^parallel/ and not $seen++ and s{^}{
|
||||||
|
echo \${a[1]}
|
||||||
|
parset a echo ::: ParsetOK ParsetOK ParsetOK
|
||||||
|
env_parallel echo ::: env_parallel_OK
|
||||||
|
parallel echo ::: parallel_OK
|
||||||
|
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
# Do not look for parallel in /usr/local/bin
|
||||||
|
. \`which env_parallel.ksh\`
|
||||||
|
}
|
||||||
|
' | tac > parallel-embed
|
||||||
|
chmod +x parallel-embed
|
||||||
|
./parallel-embed
|
||||||
|
rm parallel-embed
|
||||||
|
_EOF
|
||||||
|
)
|
||||||
|
ssh ksh@lo "$myscript"
|
||||||
|
}
|
||||||
|
|
||||||
|
par_sh_embed() {
|
||||||
|
myscript=$(cat <<'_EOF'
|
||||||
|
echo '--embed'
|
||||||
|
parallel --embed | tac | perl -pe '
|
||||||
|
/^parallel/ and not $seen++ and s{^}{
|
||||||
|
echo \$b
|
||||||
|
parset a,b,c echo ::: ParsetOK ParsetOK ParsetOK
|
||||||
|
env_parallel echo ::: env_parallel_OK
|
||||||
|
parallel echo ::: parallel_OK
|
||||||
|
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
# Do not look for parallel in /usr/local/bin
|
||||||
|
. \`which env_parallel.sh\`
|
||||||
|
}
|
||||||
|
' | tac > parallel-embed
|
||||||
|
chmod +x parallel-embed
|
||||||
|
./parallel-embed
|
||||||
|
# rm parallel-embed
|
||||||
|
_EOF
|
||||||
|
)
|
||||||
|
ssh sh@lo "$myscript"
|
||||||
|
}
|
||||||
|
|
||||||
|
par_tcsh_embed() {
|
||||||
|
echo Not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
par_zsh_embed() {
|
||||||
|
myscript=$(cat <<'_EOF'
|
||||||
|
echo '--embed'
|
||||||
|
parallel --embed | tac | perl -pe '
|
||||||
|
/^parallel/ and not $seen++ and s{^}{
|
||||||
|
echo \${a[1]}
|
||||||
|
parset a echo ::: ParsetOK ParsetOK ParsetOK
|
||||||
|
env_parallel echo ::: env_parallel_OK
|
||||||
|
parallel echo ::: parallel_OK
|
||||||
|
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
# Do not look for parallel in /usr/local/bin
|
||||||
|
. \`which env_parallel.zsh\`
|
||||||
|
}
|
||||||
|
' | tac > parallel-embed
|
||||||
|
chmod +x parallel-embed
|
||||||
|
./parallel-embed
|
||||||
|
rm parallel-embed
|
||||||
|
_EOF
|
||||||
|
)
|
||||||
|
ssh zsh@lo "$myscript"
|
||||||
|
}
|
||||||
|
|
||||||
|
export -f $(compgen -A function | grep par_)
|
||||||
|
#compgen -A function | grep par_ | sort | parallel --delay $D -j$P --tag -k '{} 2>&1'
|
||||||
|
#compgen -A function | grep par_ | sort |
|
||||||
|
compgen -A function | grep par_ | sort -r |
|
||||||
|
# parallel --joblog /tmp/jl-`basename $0` --delay $D -j$P --tag -k '{} 2>&1'
|
||||||
|
parallel --joblog /tmp/jl-`basename $0` -j200% --tag -k '{} 2>&1' |
|
||||||
|
perl -pe 's/line \d\d\d:/line XXX:/'
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
rm -f ~/.parallel/will-cite
|
rm -f ~/.parallel/will-cite
|
||||||
|
|
||||||
|
resize=`resize`
|
||||||
|
|
||||||
# Disabled 2015-06-01
|
# Disabled 2015-06-01
|
||||||
#
|
#
|
||||||
# echo '### Test stdin goes to first command only ("-" as argument)'
|
# echo '### Test stdin goes to first command only ("-" as argument)'
|
||||||
|
@ -39,4 +41,7 @@ rm /tmp/parallel-script-for-script3
|
||||||
stdout parallel --citation < /dev/null
|
stdout parallel --citation < /dev/null
|
||||||
|
|
||||||
touch ~/.parallel/will-cite
|
touch ~/.parallel/will-cite
|
||||||
|
# Clear screen
|
||||||
|
eval `resize`
|
||||||
|
seq $LINES | parallel -N0 echo > /dev/tty
|
||||||
reset
|
reset
|
||||||
|
|
|
@ -27,8 +27,8 @@ par_interactive sleep 0.1; echo opt-p 2 ?...n
|
||||||
par_interactive sleep 0.1; echo opt-p 3 ?...y
|
par_interactive sleep 0.1; echo opt-p 3 ?...y
|
||||||
par_interactive spawn /tmp/parallel-script-for-expect
|
par_interactive spawn /tmp/parallel-script-for-expect
|
||||||
par_k ### Test -k
|
par_k ### Test -k
|
||||||
par_k parallel: Warning: Only enough file handles to run 9 jobs in parallel.
|
par_k parallel: Warning: Only enough file handles to run 8 jobs in parallel.
|
||||||
par_k parallel: Warning: Running 'parallel -j0 -N 9 --pipe parallel -j0' or
|
par_k parallel: Warning: Running 'parallel -j0 -N 8 --pipe parallel -j0' or
|
||||||
par_k parallel: Warning: raising 'ulimit -n' or 'nofile' in /etc/security/limits.conf
|
par_k parallel: Warning: raising 'ulimit -n' or 'nofile' in /etc/security/limits.conf
|
||||||
par_k parallel: Warning: or /proc/sys/fs/file-max may help.
|
par_k parallel: Warning: or /proc/sys/fs/file-max may help.
|
||||||
par_k begin
|
par_k begin
|
||||||
|
|
|
@ -68,40 +68,56 @@ 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_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 ### zsh
|
||||||
par_zsh_man ### From man env_parallel
|
par_zsh_man ### From man env_parallel
|
||||||
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 aliases with = & " 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 multiline
|
||||||
par_zsh_man aliases with = & " work
|
par_zsh_man aliases with = & " ! ' work
|
||||||
par_zsh_man multiline
|
par_zsh_man multiline
|
||||||
par_zsh_man aliases with = & " work
|
par_zsh_man aliases with = & " ! ' work
|
||||||
par_zsh_man multiline
|
par_zsh_man multiline
|
||||||
par_zsh_man aliases with = & " work
|
par_zsh_man aliases with = & " ! ' work
|
||||||
par_zsh_man multiline
|
par_zsh_man multiline
|
||||||
par_zsh_man aliases with = & " work
|
par_zsh_man aliases with = & " ! ' work
|
||||||
par_zsh_man functions with = & " work
|
par_zsh_man multiline
|
||||||
par_zsh_man functions with = & " 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 functions with = & " ! ' work
|
||||||
par_zsh_man variables with = & " work
|
par_zsh_man functions with = & " ! ' work
|
||||||
par_zsh_man variables 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 variables with = & " ! ' work
|
||||||
|
par_zsh_man variables with = & " ! ' work
|
||||||
|
par_zsh_man multiline
|
||||||
|
par_zsh_man variables with = & " ! ' work
|
||||||
|
par_zsh_man multiline
|
||||||
|
par_zsh_man variables with = & " ! ' work
|
||||||
|
par_zsh_man multiline
|
||||||
|
par_zsh_man variables with = & " ! ' work
|
||||||
|
par_zsh_man multiline
|
||||||
|
par_zsh_man variables with = & " ! ' work
|
||||||
|
par_zsh_man multiline
|
||||||
|
par_zsh_man variables with = & " ! ' work
|
||||||
|
par_zsh_man arrays with = & " ! ' work, too
|
||||||
par_zsh_man arrays
|
par_zsh_man arrays
|
||||||
par_zsh_man with = & "
|
par_zsh_man with = & " ! '
|
||||||
par_zsh_man work,
|
par_zsh_man work,
|
||||||
par_zsh_man too
|
par_zsh_man too
|
||||||
par_zsh_man arrays
|
par_zsh_man arrays
|
||||||
par_zsh_man with = & "
|
par_zsh_man with = & " ! '
|
||||||
par_zsh_man work,
|
par_zsh_man work,
|
||||||
par_zsh_man too
|
par_zsh_man too
|
||||||
par_zsh_man arrays
|
par_zsh_man arrays
|
||||||
par_zsh_man with = & "
|
par_zsh_man with = & " ! '
|
||||||
par_zsh_man work,
|
par_zsh_man work,
|
||||||
par_zsh_man too
|
par_zsh_man too
|
||||||
par_zsh_man arrays
|
par_zsh_man arrays
|
||||||
par_zsh_man with = & "
|
par_zsh_man with = & " ! '
|
||||||
par_zsh_man work,
|
par_zsh_man work,
|
||||||
par_zsh_man too
|
par_zsh_man too
|
||||||
par_zsh_man exit value 2 should be 2
|
par_zsh_man exit value 2 should be 2
|
||||||
|
@ -136,41 +152,49 @@ par_zsh_environment_too_big OK_bigfunc_remote
|
||||||
par_zsh_environment_too_big OK_bigfunc_quote
|
par_zsh_environment_too_big OK_bigfunc_quote
|
||||||
par_zsh_environment_too_big OK_bigfunc_quote_remote
|
par_zsh_environment_too_big OK_bigfunc_quote_remote
|
||||||
par_zsh_environment_too_big Rest should fail
|
par_zsh_environment_too_big Rest should fail
|
||||||
|
par_zsh_environment_too_big _which:12: argument list too long: perl
|
||||||
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
||||||
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||||
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||||
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
||||||
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||||
|
par_zsh_environment_too_big _which:12: argument list too long: perl
|
||||||
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
||||||
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||||
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||||
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
||||||
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||||
|
par_zsh_environment_too_big _which:12: argument list too long: perl
|
||||||
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
||||||
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||||
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||||
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
||||||
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||||
|
par_zsh_environment_too_big _which:12: argument list too long: perl
|
||||||
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
||||||
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||||
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||||
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
||||||
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||||
|
par_zsh_environment_too_big _which:12: argument list too long: perl
|
||||||
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
||||||
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||||
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||||
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
||||||
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||||
|
par_zsh_environment_too_big _which:12: argument list too long: perl
|
||||||
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
||||||
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||||
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||||
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
||||||
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||||
|
par_zsh_environment_too_big _which:12: argument list too long: perl
|
||||||
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
||||||
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||||
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||||
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
par_zsh_environment_too_big env_parallel: Error: And the use '--env _'
|
||||||
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
par_zsh_environment_too_big env_parallel: Error: For details see: man env_parallel
|
||||||
|
par_zsh_environment_too_big _which:12: argument list too long: perl
|
||||||
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
par_zsh_environment_too_big env_parallel: Error: Your environment is too big.
|
||||||
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
par_zsh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
|
||||||
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
par_zsh_environment_too_big env_parallel: Error: env_parallel --record-env
|
||||||
|
@ -219,23 +243,29 @@ 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 aliases with = & " work
|
||||||
par_tcsh_man Functions not supported
|
par_tcsh_man Functions not supported
|
||||||
|
par_tcsh_man #: Command not found.
|
||||||
|
par_tcsh_man #: Command not found.
|
||||||
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 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 #: Command not found.
|
||||||
par_tcsh_man arrays
|
par_tcsh_man arrays
|
||||||
par_tcsh_man with
|
par_tcsh_man with=&"'
|
||||||
par_tcsh_man =
|
par_tcsh_man work,
|
||||||
|
par_tcsh_man too
|
||||||
par_tcsh_man arrays
|
par_tcsh_man arrays
|
||||||
par_tcsh_man with
|
par_tcsh_man with=&"'
|
||||||
par_tcsh_man =
|
par_tcsh_man work,
|
||||||
|
par_tcsh_man too
|
||||||
par_tcsh_man arrays
|
par_tcsh_man arrays
|
||||||
par_tcsh_man with
|
par_tcsh_man with=&"'
|
||||||
par_tcsh_man =
|
par_tcsh_man work,
|
||||||
|
par_tcsh_man too
|
||||||
par_tcsh_man arrays
|
par_tcsh_man arrays
|
||||||
par_tcsh_man with
|
par_tcsh_man with=&"'
|
||||||
par_tcsh_man =
|
par_tcsh_man work,
|
||||||
|
par_tcsh_man too
|
||||||
par_tcsh_man exit value 2 should be 2
|
par_tcsh_man exit value 2 should be 2
|
||||||
par_tcsh_man Unknown option: no-such-option
|
par_tcsh_man Unknown option: no-such-option
|
||||||
par_tcsh_man Usage:
|
par_tcsh_man Usage:
|
||||||
|
@ -354,30 +384,36 @@ par_sh_parset 2
|
||||||
par_sh_parset 3
|
par_sh_parset 3
|
||||||
par_sh_man ### sh
|
par_sh_man ### sh
|
||||||
par_sh_man ### From man env_parallel
|
par_sh_man ### From man env_parallel
|
||||||
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 aliases with = & " 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 multiline
|
||||||
par_sh_man aliases with = & " work
|
par_sh_man aliases with = & " ! ' work
|
||||||
par_sh_man multiline
|
par_sh_man multiline
|
||||||
par_sh_man aliases with = & " work
|
par_sh_man aliases with = & " ! ' work
|
||||||
par_sh_man multiline
|
par_sh_man multiline
|
||||||
par_sh_man aliases with = & " work
|
par_sh_man aliases with = & " ! ' work
|
||||||
par_sh_man multiline
|
par_sh_man multiline
|
||||||
par_sh_man aliases with = & " 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 multiline
|
||||||
par_sh_man variables with = & " 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 variables with = & " ! ' work
|
||||||
par_sh_man multiline
|
par_sh_man multiline
|
||||||
par_sh_man variables with = & " work
|
par_sh_man variables with = & " ! ' work
|
||||||
par_sh_man multiline
|
par_sh_man multiline
|
||||||
par_sh_man variables with = & " work
|
par_sh_man variables with = & " ! ' work
|
||||||
par_sh_man multiline
|
par_sh_man multiline
|
||||||
par_sh_man variables with = & " work
|
par_sh_man variables with = & " ! ' work
|
||||||
|
par_sh_man multiline
|
||||||
|
par_sh_man variables with = & " ! ' work
|
||||||
|
par_sh_man multiline
|
||||||
|
par_sh_man variables with = & " ! ' work
|
||||||
par_sh_man exit value 2 should be 2
|
par_sh_man exit value 2 should be 2
|
||||||
par_sh_man Unknown option: no-such-option
|
par_sh_man Unknown option: no-such-option
|
||||||
par_sh_man exit value 255 should be 255
|
par_sh_man exit value 255 should be 255
|
||||||
|
@ -392,25 +428,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
|
||||||
par_sh_environment_too_big OK_bigvar_quote_remote
|
par_sh_environment_too_big OK_bigvar_quote_remote
|
||||||
par_sh_environment_too_big Rest should fail
|
par_sh_environment_too_big Rest should fail
|
||||||
par_sh_environment_too_big sh: 132: perl: Argument list too long
|
par_sh_environment_too_big sh: 133: 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: 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: 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: env_parallel --record-env
|
||||||
par_sh_environment_too_big env_parallel: Error: And the use '--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 env_parallel: Error: For details see: man env_parallel
|
||||||
par_sh_environment_too_big sh: 132: perl: Argument list too long
|
par_sh_environment_too_big sh: 133: 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: 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: 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: env_parallel --record-env
|
||||||
par_sh_environment_too_big env_parallel: Error: And the use '--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 env_parallel: Error: For details see: man env_parallel
|
||||||
par_sh_environment_too_big sh: 132: perl: Argument list too long
|
par_sh_environment_too_big sh: 133: 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: 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: 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: env_parallel --record-env
|
||||||
par_sh_environment_too_big env_parallel: Error: And the use '--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 env_parallel: Error: For details see: man env_parallel
|
||||||
par_sh_environment_too_big sh: 132: perl: Argument list too long
|
par_sh_environment_too_big sh: 133: 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: 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: 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: env_parallel --record-env
|
||||||
|
@ -493,50 +529,70 @@ 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_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 ### ksh
|
||||||
par_ksh_man ### From man env_parallel
|
par_ksh_man ### From man env_parallel
|
||||||
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 aliases with = & " 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 multiline
|
||||||
|
par_ksh_man aliases with = & " ! ' work
|
||||||
par_ksh_man env_parallel: Warning: Alias "multiline" contains newline.
|
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: 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 env_parallel: Warning: See BUGS in "man env_parallel".
|
||||||
par_ksh_man multiline
|
par_ksh_man multiline
|
||||||
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: 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: 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 env_parallel: Warning: See BUGS in "man env_parallel".
|
||||||
par_ksh_man multiline
|
par_ksh_man multiline
|
||||||
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: 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: 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 env_parallel: Warning: See BUGS in "man env_parallel".
|
||||||
par_ksh_man multiline
|
par_ksh_man multiline
|
||||||
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: 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: 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 env_parallel: Warning: See BUGS in "man env_parallel".
|
||||||
par_ksh_man multiline
|
par_ksh_man multiline
|
||||||
par_ksh_man aliases with = & " 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 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 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 variables with = & " work
|
par_ksh_man variables with = & " ! ' work
|
||||||
|
par_ksh_man variables with = & " ! ' work
|
||||||
|
par_ksh_man variables with = & " ! ' work
|
||||||
|
par_ksh_man multiline
|
||||||
|
par_ksh_man variables with = & " ! ' work
|
||||||
|
par_ksh_man multiline
|
||||||
|
par_ksh_man variables with = & " ! ' work
|
||||||
|
par_ksh_man multiline
|
||||||
|
par_ksh_man variables with = & " ! ' work
|
||||||
|
par_ksh_man multiline
|
||||||
|
par_ksh_man variables with = & " ! ' work
|
||||||
|
par_ksh_man multiline
|
||||||
|
par_ksh_man variables with = & " ! ' work
|
||||||
|
par_ksh_man arrays with = & " ! ' work, too
|
||||||
par_ksh_man arrays
|
par_ksh_man arrays
|
||||||
par_ksh_man with = & "
|
par_ksh_man with = & " ! '
|
||||||
par_ksh_man work,
|
par_ksh_man work,
|
||||||
|
par_ksh_man too
|
||||||
par_ksh_man arrays
|
par_ksh_man arrays
|
||||||
par_ksh_man with = & "
|
par_ksh_man with = & " ! '
|
||||||
par_ksh_man work,
|
par_ksh_man work,
|
||||||
|
par_ksh_man too
|
||||||
par_ksh_man arrays
|
par_ksh_man arrays
|
||||||
par_ksh_man with = & "
|
par_ksh_man with = & " ! '
|
||||||
par_ksh_man work,
|
par_ksh_man work,
|
||||||
|
par_ksh_man too
|
||||||
par_ksh_man arrays
|
par_ksh_man arrays
|
||||||
par_ksh_man with = & "
|
par_ksh_man with = & " ! '
|
||||||
par_ksh_man work,
|
par_ksh_man work,
|
||||||
|
par_ksh_man too
|
||||||
par_ksh_man exit value 2 should be 2
|
par_ksh_man exit value 2 should be 2
|
||||||
par_ksh_man Unknown option: no-such-option
|
par_ksh_man Unknown option: no-such-option
|
||||||
par_ksh_man exit value 255 should be 255
|
par_ksh_man exit value 255 should be 255
|
||||||
|
@ -676,32 +732,42 @@ par_fish_underscore OK if ^^^^^^^^^^^^^^^^^ no myfunc
|
||||||
par_fish_parset Not implemented
|
par_fish_parset Not implemented
|
||||||
par_fish_man ### fish
|
par_fish_man ### fish
|
||||||
par_fish_man ### From man env_parallel
|
par_fish_man ### From man env_parallel
|
||||||
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 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 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 functions with = & " work
|
par_fish_man functions with = & " ! ' work
|
||||||
par_fish_man variables = & " work
|
par_fish_man functions with = & " ! ' work
|
||||||
par_fish_man variables = & " work
|
par_fish_man functions with = & " ! ' work
|
||||||
par_fish_man variables = & " work
|
par_fish_man variables with = & " ! ' work
|
||||||
par_fish_man variables = & " work
|
par_fish_man variables with = & " ! ' work
|
||||||
|
par_fish_man variables with = & " ! ' work
|
||||||
|
par_fish_man variables with = & " ! ' work
|
||||||
|
par_fish_man variables with = & " ! ' work
|
||||||
|
par_fish_man multiline
|
||||||
|
par_fish_man variables with = & " ! ' work
|
||||||
|
par_fish_man multiline\n variables with = & " ! ' work
|
||||||
|
par_fish_man multiline\n variables with = & " ! ' work
|
||||||
|
par_fish_man multiline\n variables with = & " ! ' work
|
||||||
|
par_fish_man multiline\n variables with = & " ! ' work
|
||||||
|
par_fish_man arrays with = & " ! ' work, too
|
||||||
par_fish_man arrays
|
par_fish_man arrays
|
||||||
par_fish_man with = & "
|
par_fish_man with = & " ! '
|
||||||
par_fish_man work,
|
par_fish_man work,
|
||||||
par_fish_man too
|
par_fish_man too
|
||||||
par_fish_man arrays
|
par_fish_man arrays
|
||||||
par_fish_man with = & "
|
par_fish_man with = & " ! '
|
||||||
par_fish_man work,
|
par_fish_man work,
|
||||||
par_fish_man too
|
par_fish_man too
|
||||||
par_fish_man arrays
|
par_fish_man arrays
|
||||||
par_fish_man with = & "
|
par_fish_man with = & " ! '
|
||||||
par_fish_man work,
|
par_fish_man work,
|
||||||
par_fish_man too
|
par_fish_man too
|
||||||
par_fish_man arrays
|
par_fish_man arrays
|
||||||
par_fish_man with = & "
|
par_fish_man with = & " ! '
|
||||||
par_fish_man work,
|
par_fish_man work,
|
||||||
par_fish_man too
|
par_fish_man too
|
||||||
par_fish_man exit value 2 should be 2
|
par_fish_man exit value 2 should be 2
|
||||||
|
@ -791,30 +857,36 @@ par_dash_parset 2
|
||||||
par_dash_parset 3
|
par_dash_parset 3
|
||||||
par_dash_man ### dash
|
par_dash_man ### dash
|
||||||
par_dash_man ### From man env_parallel
|
par_dash_man ### From man env_parallel
|
||||||
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 aliases with = & " 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 multiline
|
||||||
par_dash_man aliases with = & " work
|
par_dash_man aliases with = & " ! ' work
|
||||||
par_dash_man multiline
|
par_dash_man multiline
|
||||||
par_dash_man aliases with = & " work
|
par_dash_man aliases with = & " ! ' work
|
||||||
par_dash_man multiline
|
par_dash_man multiline
|
||||||
par_dash_man aliases with = & " work
|
par_dash_man aliases with = & " ! ' work
|
||||||
par_dash_man multiline
|
par_dash_man multiline
|
||||||
par_dash_man aliases with = & " 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 multiline
|
||||||
par_dash_man variables with = & " 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 variables with = & " ! ' work
|
||||||
par_dash_man multiline
|
par_dash_man multiline
|
||||||
par_dash_man variables with = & " work
|
par_dash_man variables with = & " ! ' work
|
||||||
par_dash_man multiline
|
par_dash_man multiline
|
||||||
par_dash_man variables with = & " work
|
par_dash_man variables with = & " ! ' work
|
||||||
par_dash_man multiline
|
par_dash_man multiline
|
||||||
par_dash_man variables with = & " work
|
par_dash_man variables with = & " ! ' work
|
||||||
|
par_dash_man multiline
|
||||||
|
par_dash_man variables with = & " ! ' work
|
||||||
|
par_dash_man multiline
|
||||||
|
par_dash_man variables with = & " ! ' work
|
||||||
par_dash_man exit value 2 should be 2
|
par_dash_man exit value 2 should be 2
|
||||||
par_dash_man Unknown option: no-such-option
|
par_dash_man Unknown option: no-such-option
|
||||||
par_dash_man exit value 255 should be 255
|
par_dash_man exit value 255 should be 255
|
||||||
|
@ -829,25 +901,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
|
||||||
par_dash_environment_too_big OK_bigvar_quote_remote
|
par_dash_environment_too_big OK_bigvar_quote_remote
|
||||||
par_dash_environment_too_big Rest should fail
|
par_dash_environment_too_big Rest should fail
|
||||||
par_dash_environment_too_big dash: 132: perl: Argument list too long
|
par_dash_environment_too_big dash: 133: 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: 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: 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: env_parallel --record-env
|
||||||
par_dash_environment_too_big env_parallel: Error: And the use '--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 env_parallel: Error: For details see: man env_parallel
|
||||||
par_dash_environment_too_big dash: 132: perl: Argument list too long
|
par_dash_environment_too_big dash: 133: 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: 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: 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: env_parallel --record-env
|
||||||
par_dash_environment_too_big env_parallel: Error: And the use '--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 env_parallel: Error: For details see: man env_parallel
|
||||||
par_dash_environment_too_big dash: 132: perl: Argument list too long
|
par_dash_environment_too_big dash: 133: 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: 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: 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: env_parallel --record-env
|
||||||
par_dash_environment_too_big env_parallel: Error: And the use '--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 env_parallel: Error: For details see: man env_parallel
|
||||||
par_dash_environment_too_big dash: 132: perl: Argument list too long
|
par_dash_environment_too_big dash: 133: 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: 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: 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: env_parallel --record-env
|
||||||
|
@ -902,10 +974,6 @@ par_csh_man {+/}/{/..}.{+..} = {...}.{+...} = {+/}/{/...}.{+...}
|
||||||
par_csh_man ;login: The USENIX Magazine, February 2011:42-47.
|
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 O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
|
||||||
par_csh_man ### From man env_parallel
|
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 --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 --nonall Run the given command with no arguments on all sshlogins
|
||||||
par_csh_man --onall Run the given command with argument on all sshlogins
|
par_csh_man --onall Run the given command with argument on all sshlogins
|
||||||
|
@ -918,10 +986,6 @@ par_csh_man -S sshlogin Example: foo@server.example.com
|
||||||
par_csh_man -X Multiple arguments with context replace
|
par_csh_man -X Multiple arguments with context replace
|
||||||
par_csh_man -j n Run n jobs in parallel
|
par_csh_man -j n Run n jobs in parallel
|
||||||
par_csh_man -k Keep same order
|
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 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 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
|
par_csh_man If you use programs that use GNU Parallel to process data for an article in a
|
||||||
|
@ -944,14 +1008,22 @@ 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]] (::: arguments|:::: argfile(s))...
|
||||||
par_csh_man parallel [options] [command [arguments]] < list_of_arguments
|
par_csh_man parallel [options] [command [arguments]] < list_of_arguments
|
||||||
par_csh_man scientific publication, please cite:
|
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 with = & " 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 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 with
|
par_csh_man with=&"'
|
||||||
par_csh_man with
|
par_csh_man with=&"'
|
||||||
|
par_csh_man work,
|
||||||
|
par_csh_man work,
|
||||||
|
par_csh_man work,
|
||||||
|
par_csh_man work,
|
||||||
par_csh_man {3} {3.} {3/} {3/.} {=3 perl code =} Positional replacement strings
|
par_csh_man {3} {3.} {3/} {3/.} {=3 perl code =} Positional replacement strings
|
||||||
par_csh_man {} {.} {/} {/.} {#} {%} {= perl code =} Replacement strings
|
par_csh_man {} {.} {/} {/.} {#} {%} {= perl code =} Replacement strings
|
||||||
par_csh_funky 3 arg alias_works
|
par_csh_funky 3 arg alias_works
|
||||||
|
@ -1032,64 +1104,72 @@ 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_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 ### bash
|
||||||
par_bash_man ### From man env_parallel
|
par_bash_man ### From man env_parallel
|
||||||
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 aliases with = & " 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 multiline
|
||||||
|
par_bash_man aliases with = & " ! ' work
|
||||||
par_bash_man env_parallel: Warning: Alias 'multiline' contains 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: 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 env_parallel: Warning: See BUGS in 'man env_parallel'.
|
||||||
par_bash_man multiline
|
par_bash_man multiline
|
||||||
par_bash_man aliases with = & " work
|
par_bash_man aliases with = & " ! ' work
|
||||||
par_bash_man but only when followed by a newline
|
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: 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: 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 env_parallel: Warning: See BUGS in 'man env_parallel'.
|
||||||
par_bash_man multiline
|
par_bash_man multiline
|
||||||
par_bash_man aliases with = & " work
|
par_bash_man aliases with = & " ! ' work
|
||||||
par_bash_man but only when followed by a newline
|
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: 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: 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 env_parallel: Warning: See BUGS in 'man env_parallel'.
|
||||||
par_bash_man multiline
|
par_bash_man multiline
|
||||||
par_bash_man aliases with = & " work
|
par_bash_man aliases with = & " ! ' work
|
||||||
par_bash_man but only when followed by a newline
|
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: 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: 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 env_parallel: Warning: See BUGS in 'man env_parallel'.
|
||||||
par_bash_man multiline
|
par_bash_man multiline
|
||||||
par_bash_man aliases with = & " work
|
par_bash_man aliases with = & " ! ' work
|
||||||
par_bash_man but only when followed by a newline
|
par_bash_man but only when followed by a newline
|
||||||
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 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 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 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 multiline
|
||||||
par_bash_man variables with = & " work
|
par_bash_man variables with = & " ! ' work
|
||||||
par_bash_man multiline
|
par_bash_man multiline
|
||||||
par_bash_man variables with = & " work
|
par_bash_man variables with = & " ! ' work
|
||||||
par_bash_man multiline
|
par_bash_man multiline
|
||||||
par_bash_man variables with = & " work
|
par_bash_man variables with = & " ! ' work
|
||||||
par_bash_man multiline
|
par_bash_man multiline
|
||||||
par_bash_man variables with = & " work
|
par_bash_man variables with = & " ! ' work
|
||||||
|
par_bash_man multiline
|
||||||
|
par_bash_man variables with = & " ! ' work
|
||||||
|
par_bash_man arrays with = & " ! ' work, too
|
||||||
par_bash_man arrays
|
par_bash_man arrays
|
||||||
par_bash_man with = & "
|
par_bash_man with = & " ! '
|
||||||
par_bash_man work,
|
par_bash_man work,
|
||||||
par_bash_man too
|
par_bash_man too
|
||||||
par_bash_man arrays
|
par_bash_man arrays
|
||||||
par_bash_man with = & "
|
par_bash_man with = & " ! '
|
||||||
par_bash_man work,
|
par_bash_man work,
|
||||||
par_bash_man too
|
par_bash_man too
|
||||||
par_bash_man arrays
|
par_bash_man arrays
|
||||||
par_bash_man with = & "
|
par_bash_man with = & " ! '
|
||||||
par_bash_man work,
|
par_bash_man work,
|
||||||
par_bash_man too
|
par_bash_man too
|
||||||
par_bash_man arrays
|
par_bash_man arrays
|
||||||
par_bash_man with = & "
|
par_bash_man with = & " ! '
|
||||||
par_bash_man work,
|
par_bash_man work,
|
||||||
par_bash_man too
|
par_bash_man too
|
||||||
par_bash_man exit value 2 should be 2
|
par_bash_man exit value 2 should be 2
|
||||||
|
@ -1238,30 +1318,36 @@ par_ash_parset 2
|
||||||
par_ash_parset 3
|
par_ash_parset 3
|
||||||
par_ash_man ### ash
|
par_ash_man ### ash
|
||||||
par_ash_man ### From man env_parallel
|
par_ash_man ### From man env_parallel
|
||||||
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 aliases with = & " 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 multiline
|
||||||
par_ash_man aliases with = & " work
|
par_ash_man aliases with = & " ! ' work
|
||||||
par_ash_man multiline
|
par_ash_man multiline
|
||||||
par_ash_man aliases with = & " work
|
par_ash_man aliases with = & " ! ' work
|
||||||
par_ash_man multiline
|
par_ash_man multiline
|
||||||
par_ash_man aliases with = & " work
|
par_ash_man aliases with = & " ! ' work
|
||||||
par_ash_man multiline
|
par_ash_man multiline
|
||||||
par_ash_man aliases with = & " 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 multiline
|
||||||
par_ash_man variables with = & " 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 variables with = & " ! ' work
|
||||||
par_ash_man multiline
|
par_ash_man multiline
|
||||||
par_ash_man variables with = & " work
|
par_ash_man variables with = & " ! ' work
|
||||||
par_ash_man multiline
|
par_ash_man multiline
|
||||||
par_ash_man variables with = & " work
|
par_ash_man variables with = & " ! ' work
|
||||||
par_ash_man multiline
|
par_ash_man multiline
|
||||||
par_ash_man variables with = & " work
|
par_ash_man variables with = & " ! ' work
|
||||||
|
par_ash_man multiline
|
||||||
|
par_ash_man variables with = & " ! ' work
|
||||||
|
par_ash_man multiline
|
||||||
|
par_ash_man variables with = & " ! ' work
|
||||||
par_ash_man exit value 2 should be 2
|
par_ash_man exit value 2 should be 2
|
||||||
par_ash_man Unknown option: no-such-option
|
par_ash_man Unknown option: no-such-option
|
||||||
par_ash_man exit value 255 should be 255
|
par_ash_man exit value 255 should be 255
|
||||||
|
@ -1276,25 +1362,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
|
||||||
par_ash_environment_too_big OK_bigvar_quote_remote
|
par_ash_environment_too_big OK_bigvar_quote_remote
|
||||||
par_ash_environment_too_big Rest should fail
|
par_ash_environment_too_big Rest should fail
|
||||||
par_ash_environment_too_big ash: 132: perl: Argument list too long
|
par_ash_environment_too_big ash: 133: 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: 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: 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: env_parallel --record-env
|
||||||
par_ash_environment_too_big env_parallel: Error: And the use '--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 env_parallel: Error: For details see: man env_parallel
|
||||||
par_ash_environment_too_big ash: 132: perl: Argument list too long
|
par_ash_environment_too_big ash: 133: 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: 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: 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: env_parallel --record-env
|
||||||
par_ash_environment_too_big env_parallel: Error: And the use '--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 env_parallel: Error: For details see: man env_parallel
|
||||||
par_ash_environment_too_big ash: 132: perl: Argument list too long
|
par_ash_environment_too_big ash: 133: 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: 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: 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: env_parallel --record-env
|
||||||
par_ash_environment_too_big env_parallel: Error: And the use '--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 env_parallel: Error: For details see: man env_parallel
|
||||||
par_ash_environment_too_big ash: 132: perl: Argument list too long
|
par_ash_environment_too_big ash: 133: 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: 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: 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: env_parallel --record-env
|
||||||
|
|
69
testsuite/wanted-results/parallel-local-ssh9
Normal file
69
testsuite/wanted-results/parallel-local-ssh9
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
par_zsh_embed --embed
|
||||||
|
par_zsh_embed Redirect the output to a file and add your changes at the end:
|
||||||
|
par_zsh_embed /usr/local/bin/parallel --embed > new_script
|
||||||
|
par_zsh_embed Put
|
||||||
|
par_zsh_embed your
|
||||||
|
par_zsh_embed code
|
||||||
|
par_zsh_embed here
|
||||||
|
par_zsh_embed parallel_OK
|
||||||
|
par_zsh_embed _which:12: argument list too long: perl
|
||||||
|
par_zsh_embed env_parallel: Error: Your environment is too big.
|
||||||
|
par_zsh_embed env_parallel: Error: Try running this in a clean environment once:
|
||||||
|
par_zsh_embed env_parallel: Error: env_parallel --record-env
|
||||||
|
par_zsh_embed env_parallel: Error: And the use '--env _'
|
||||||
|
par_zsh_embed env_parallel: Error: For details see: man env_parallel
|
||||||
|
par_zsh_embed ParsetOK
|
||||||
|
par_tcsh_embed Not implemented
|
||||||
|
par_sh_embed --embed
|
||||||
|
par_sh_embed Redirect the output to a file and add your changes at the end:
|
||||||
|
par_sh_embed /usr/local/bin/parallel --embed > new_script
|
||||||
|
par_sh_embed Put
|
||||||
|
par_sh_embed your
|
||||||
|
par_sh_embed code
|
||||||
|
par_sh_embed here
|
||||||
|
par_sh_embed parallel_OK
|
||||||
|
par_sh_embed env_parallel_OK
|
||||||
|
par_sh_embed ./parallel-embed: 275: ./parallel-embed: parallel: not found
|
||||||
|
par_sh_embed rm: missing operand
|
||||||
|
par_sh_embed Try 'rm --help' for more information.
|
||||||
|
par_sh_embed
|
||||||
|
par_ksh_embed --embed
|
||||||
|
par_ksh_embed Redirect the output to a file and add your changes at the end:
|
||||||
|
par_ksh_embed /usr/local/bin/parallel --embed > new_script
|
||||||
|
par_ksh_embed Put
|
||||||
|
par_ksh_embed your
|
||||||
|
par_ksh_embed code
|
||||||
|
par_ksh_embed here
|
||||||
|
par_ksh_embed parallel_OK
|
||||||
|
par_ksh_embed env_parallel: Error: parallel must be in $PATH.
|
||||||
|
par_ksh_embed ParsetOK
|
||||||
|
par_fish_embed Not implemented
|
||||||
|
par_csh_embed Not implemented
|
||||||
|
par_bash_embed --embed
|
||||||
|
par_bash_embed Redirect the output to a file and add your changes at the end:
|
||||||
|
par_bash_embed /usr/local/bin/parallel --embed > new_script
|
||||||
|
par_bash_embed Put
|
||||||
|
par_bash_embed your
|
||||||
|
par_bash_embed code
|
||||||
|
par_bash_embed here
|
||||||
|
par_bash_embed parallel_OK
|
||||||
|
par_bash_embed /usr/local/bin/env_parallel.bash: line XXX: /usr/bin/perl: Argument list too long
|
||||||
|
par_bash_embed env_parallel: Error: Your environment is too big.
|
||||||
|
par_bash_embed env_parallel: Error: Try running this in a clean environment once:
|
||||||
|
par_bash_embed env_parallel: Error: env_parallel --record-env
|
||||||
|
par_bash_embed env_parallel: Error: And the use '--env _'
|
||||||
|
par_bash_embed env_parallel: Error: For details see: man env_parallel
|
||||||
|
par_bash_embed ParsetOK
|
||||||
|
par_ash_embed --embed
|
||||||
|
par_ash_embed Redirect the output to a file and add your changes at the end:
|
||||||
|
par_ash_embed /usr/local/bin/parallel --embed > new_script
|
||||||
|
par_ash_embed Put
|
||||||
|
par_ash_embed your
|
||||||
|
par_ash_embed code
|
||||||
|
par_ash_embed here
|
||||||
|
par_ash_embed parallel_OK
|
||||||
|
par_ash_embed env_parallel_OK
|
||||||
|
par_ash_embed ./parallel-embed: 275: ./parallel-embed: parallel: not found
|
||||||
|
par_ash_embed rm: missing operand
|
||||||
|
par_ash_embed Try 'rm --help' for more information.
|
||||||
|
par_ash_embed
|
Loading…
Reference in a new issue