env_parallel: bugfix of ash/dash/sh + increased testing.

This commit is contained in:
Ole Tange 2017-12-03 01:40:01 +01:00
parent 8f63e3f5e7
commit 77599baa96
9 changed files with 1434 additions and 786 deletions

View file

@ -29,15 +29,25 @@ env_parallel() {
# based on env_parallel.sh
_names_of_ALIASES() {
alias | perl -ne 's/^alias //;s/^(\S+)=.*/$1/ and print'
for _i in `alias | perl -ne 's/^alias //;s/^(\S+)=.*/$1/ && print' 2>/dev/null`; do
# Check if this name really is an alias
# or just part of a multiline alias definition
if alias $_i >/dev/null 2>/dev/null; then
echo $_i
fi
done
}
_bodies_of_ALIASES() {
# alias may return:
# myalias='definition' (GNU/Linux ash)
# alias myalias='definition' (FreeBSD ash)
# so remove 'alias ' from first line
for _i in "$@"; do
echo 'alias '"`alias $_i`"
echo 'alias '"`alias $_i | perl -pe '1..1 and s/^alias //'`"
done
}
_names_of_maybe_FUNCTIONS() {
set | perl -ne '/^(\S+)\(\)\{$/ and print "$1\n"'
set | perl -ne '/^([A-Z_0-9]+)\s*\(\)\s*\{?$/i and print "$1\n"'
}
_names_of_FUNCTIONS() {
# myfunc is a function
@ -134,7 +144,7 @@ env_parallel() {
fi
# Grep alias names
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES`"
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES | xargs echo`"
_list_alias_BODIES="_bodies_of_ALIASES $_alias_NAMES"
if [ "$_alias_NAMES" = "" ] ; then
# no aliases selected
@ -143,7 +153,7 @@ env_parallel() {
unset _alias_NAMES
# Grep function names
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES`"
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES | xargs echo`"
_list_function_BODIES="_bodies_of_FUNCTIONS $_function_NAMES"
if [ "$_function_NAMES" = "" ] ; then
# no functions selected
@ -152,7 +162,7 @@ env_parallel() {
unset _function_NAMES
# Grep variable names
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES`"
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES | xargs echo`"
_list_variable_VALUES="_bodies_of_VARIABLES $_variable_NAMES"
if [ "$_variable_NAMES" = "" ] ; then
# no variables selected
@ -172,7 +182,7 @@ env_parallel() {
unset _grep_REGEXP
unset _ignore_UNDERSCORE
# Test if environment is too big
if `which true` >/dev/null ; then
if `which true` >/dev/null 2>/dev/null ; then
`which parallel` "$@";
_parallel_exit_CODE=$?
unset PARALLEL_ENV;

View file

@ -137,7 +137,7 @@ env_parallel() {
fi
# Grep alias names
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES`"
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES | xargs echo`"
_list_alias_BODIES="_bodies_of_ALIASES $_alias_NAMES"
if [ "$_alias_NAMES" = "" ] ; then
# no aliases selected
@ -146,7 +146,7 @@ env_parallel() {
unset _alias_NAMES
# Grep function names
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES`"
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES | xargs echo`"
_list_function_BODIES="_bodies_of_FUNCTIONS $_function_NAMES"
if [ "$_function_NAMES" = "" ] ; then
# no functions selected
@ -155,7 +155,7 @@ env_parallel() {
unset _function_NAMES
# Grep variable names
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES`"
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES | xargs echo`"
_list_variable_VALUES="_bodies_of_VARIABLES $_variable_NAMES"
if [ "$_variable_NAMES" = "" ] ; then
# no variables selected

View file

@ -29,13 +29,25 @@ env_parallel() {
# based on env_parallel.sh
_names_of_ALIASES() {
alias | perl -pe 's/^alias //;s/=.*//'
for _i in `alias | perl -ne 's/^alias //;s/^(\S+)=.*/$1/ && print' 2>/dev/null`; do
# Check if this name really is an alias
# or just part of a multiline alias definition
if alias $_i >/dev/null 2>/dev/null; then
echo $_i
fi
done
}
_bodies_of_ALIASES() {
alias "$@" | perl -pe 's/^(alias )?/alias /'
# alias may return:
# myalias='definition' (GNU/Linux ash)
# alias myalias='definition' (FreeBSD ash)
# so remove 'alias ' from first line
for _i in "$@"; do
echo 'alias '"`alias $_i | perl -pe '1..1 and s/^alias //'`"
done
}
_names_of_maybe_FUNCTIONS() {
set | perl -ne '/^(\S+)\(\)\{$/ and print "$1\n"'
set | perl -ne '/^([A-Z_0-9]+)\s*\(\)\s*\{?$/i and print "$1\n"'
}
_names_of_FUNCTIONS() {
# myfunc is a function
@ -132,7 +144,7 @@ env_parallel() {
fi
# Grep alias names
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES`"
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES | xargs echo`"
_list_alias_BODIES="_bodies_of_ALIASES $_alias_NAMES"
if [ "$_alias_NAMES" = "" ] ; then
# no aliases selected
@ -141,7 +153,7 @@ env_parallel() {
unset _alias_NAMES
# Grep function names
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES`"
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES | xargs echo`"
_list_function_BODIES="_bodies_of_FUNCTIONS $_function_NAMES"
if [ "$_function_NAMES" = "" ] ; then
# no functions selected
@ -150,7 +162,7 @@ env_parallel() {
unset _function_NAMES
# Grep variable names
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES`"
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES | xargs echo`"
_list_variable_VALUES="_bodies_of_VARIABLES $_variable_NAMES"
if [ "$_variable_NAMES" = "" ] ; then
# no variables selected
@ -170,7 +182,7 @@ env_parallel() {
unset _grep_REGEXP
unset _ignore_UNDERSCORE
# Test if environment is too big
if `which true` >/dev/null ; then
if `which true` >/dev/null 2>/dev/null ; then
`which parallel` "$@";
_parallel_exit_CODE=$?
unset PARALLEL_ENV;

View file

@ -32,7 +32,14 @@ env_parallel() {
alias | perl -pe 's/=.*//'
}
_bodies_of_ALIASES() {
alias "$@" | perl -pe 's/^/alias /'
alias "$@" | perl -pe 's/^/alias /;
sub warning { print STDERR "env_parallel: Warning: @_\n"; }
if(/^alias (\S+)=\$.*\\n/) {
warning("Alias \"$1\" contains newline.");
warning("Make sure the command has at least one newline after \"$1\".");
warning("See BUGS in \"man env_parallel\".");
}'
}
_names_of_maybe_FUNCTIONS() {
true not used
@ -122,7 +129,7 @@ env_parallel() {
fi
# Grep alias names
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES`"
_alias_NAMES="`_names_of_ALIASES | _remove_bad_NAMES | xargs echo`"
_list_alias_BODIES="_bodies_of_ALIASES $_alias_NAMES"
if [ "$_alias_NAMES" = "" ] ; then
# no aliases selected
@ -131,7 +138,7 @@ env_parallel() {
unset _alias_NAMES
# Grep function names
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES`"
_function_NAMES="`_names_of_FUNCTIONS | _remove_bad_NAMES | xargs echo`"
_list_function_BODIES="_bodies_of_FUNCTIONS $_function_NAMES"
if [ "$_function_NAMES" = "" ] ; then
# no functions selected
@ -140,7 +147,7 @@ env_parallel() {
unset _function_NAMES
# Grep variable names
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES`"
_variable_NAMES="`_names_of_VARIABLES | _remove_bad_NAMES | xargs echo`"
_list_variable_VALUES="_bodies_of_VARIABLES $_variable_NAMES"
if [ "$_variable_NAMES" = "" ] ; then
# no variables selected
@ -160,7 +167,7 @@ env_parallel() {
unset _grep_REGEXP
unset _ignore_UNDERSCORE
# Test if environment is too big
if `which true` >/dev/null ; then
if `which true` >/dev/null 2>/dev/null ; then
`which parallel` "$@";
_parallel_exit_CODE=$?
unset PARALLEL_ENV;

View file

@ -29,10 +29,22 @@ env_parallel() {
# env_parallel.sh
_names_of_ALIASES() {
alias | perl -pe 's/^alias //;s/=.*//'
for _i in `alias | perl -ne 's/^alias //;s/^(\S+)=.*/$1/ && print' 2>/dev/null`; do
# Check if this name really is an alias
# or just part of a multiline alias definition
if alias $_i >/dev/null 2>/dev/null; then
echo $_i
fi
done
}
_bodies_of_ALIASES() {
alias "$@" | perl -pe 's/^(alias )?/alias /'
# alias may return:
# myalias='definition' (GNU/Linux ash)
# alias myalias='definition' (FreeBSD ash)
# so remove 'alias ' from first line
for _i in "$@"; do
echo 'alias '"`alias $_i | perl -pe '1..1 and s/^alias //'`"
done
}
_names_of_maybe_FUNCTIONS() {
set | perl -ne '/^([A-Z_0-9]+)\s*\(\)\s*\{?$/i and print "$1\n"'
@ -170,7 +182,7 @@ env_parallel() {
unset _grep_REGEXP
unset _ignore_UNDERSCORE
# Test if environment is too big
if `which true` >/dev/null ; then
if `which true` >/dev/null 2>/dev/null ; then
`which parallel` "$@";
_parallel_exit_CODE=$?
unset PARALLEL_ENV;

View file

@ -159,10 +159,24 @@ env_parallel() {
unset _list_alias_BODIES
unset _list_variable_VALUES
unset _list_function_BODIES
unset _grep_REGEXP
unset _ignore_UNDERSCORE
# Test if environment is too big
if `which /bin/true` >/dev/null 2>/dev/null ; then
`which parallel` "$@";
_parallel_exit_CODE=$?
unset PARALLEL_ENV;
return $_parallel_exit_CODE
else
unset PARALLEL_ENV;
echo "env_parallel: Error: Your environment is too big." >&2
echo "env_parallel: Error: Try running this in a clean environment once:" >&2
echo "env_parallel: Error: env_parallel --record-env" >&2
echo "env_parallel: Error: And the use '--env _'" >&2
echo "env_parallel: Error: For details see: man env_parallel" >&2
return 255
fi
}
parset() {

File diff suppressed because it is too large Load diff

View file

@ -37,6 +37,7 @@ par_path_remote_csh() {
setenv A "`seq 1000`"
setenv PATH ${PATH}:/tmp
cp /usr/local/bin/env_parallel* /tmp
rehash
if ("`alias env_parallel`" == '') then
source `which env_parallel.csh`
endif

View file

@ -132,14 +132,46 @@ par_zsh_environment_too_big OK_bigfunc_remote
par_zsh_environment_too_big OK_bigfunc_quote
par_zsh_environment_too_big OK_bigfunc_quote_remote
par_zsh_environment_too_big Rest should fail
par_zsh_environment_too_big env_parallel:135: argument list too long: /usr/local/bin/parallel
par_zsh_environment_too_big env_parallel:135: argument list too long: /usr/local/bin/parallel
par_zsh_environment_too_big env_parallel:135: argument list too long: /usr/local/bin/parallel
par_zsh_environment_too_big env_parallel:135: argument list too long: /usr/local/bin/parallel
par_zsh_environment_too_big env_parallel:135: argument list too long: /usr/local/bin/parallel
par_zsh_environment_too_big env_parallel:135: argument list too long: /usr/local/bin/parallel
par_zsh_environment_too_big env_parallel:135: argument list too long: /usr/local/bin/parallel
par_zsh_environment_too_big env_parallel:135: argument list too long: /usr/local/bin/parallel
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: env_parallel --record-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: 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: env_parallel --record-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: 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: env_parallel --record-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: 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: env_parallel --record-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: 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: env_parallel --record-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: 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: env_parallel --record-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: 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: env_parallel --record-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: 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: env_parallel --record-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_env_parallel OK
par_zsh_env_parallel OK
par_zsh_env_parallel alias line 1
@ -260,6 +292,20 @@ par_tcsh_env_parallel OK
par_tcsh_env_parallel bug #50435: Remote fifo broke in 20150522
par_tcsh_env_parallel data from stdin
par_tcsh_env_parallel data from stdin
par_sh_underscore ### sh
par_sh_underscore ### Testing of --env _
par_sh_underscore variables in aliases work
par_sh_underscore variables in aliases work
par_sh_underscore variables in aliases work
par_sh_underscore variables in aliases work
par_sh_underscore /bin/sh: 4: not_copied_alias: not found
par_sh_underscore error=OK
par_sh_underscore aliases work
par_sh_underscore aliases work
par_sh_underscore /bin/sh: 2: myecho: not found
par_sh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_sh_underscore /bin/sh: 2: myecho: not found
par_sh_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_sh_parset parset
par_sh_parset ### parset into vars with comma
par_sh_parset foo bar baz
@ -301,6 +347,40 @@ par_sh_parset newline2
par_sh_parset 1
par_sh_parset 2
par_sh_parset 3
par_sh_man ### sh
par_sh_man ### From man env_parallel
par_sh_man aliases work
par_sh_man aliases work
par_sh_man aliases work
par_sh_man aliases work
par_sh_man multiline
par_sh_man aliases work
par_sh_man multiline
par_sh_man aliases work
par_sh_man multiline
par_sh_man aliases work
par_sh_man multiline
par_sh_man aliases work
par_sh_man variables work
par_sh_man variables work
par_sh_man variables work
par_sh_man variables work
par_sh_man multiline
par_sh_man variables work
par_sh_man multiline
par_sh_man variables work
par_sh_man multiline
par_sh_man variables work
par_sh_man multiline
par_sh_man variables work
par_sh_man exit value 2 should be 2
par_sh_man Unknown option: no-such-option
par_sh_man exit value 255 should be 255
par_sh_funky
par_sh_funky 3 arg alias_works
par_sh_funky 3 arg alias_works_over_ssh
par_sh_funky \\\\\\\\
par_sh_funky \ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
par_sh_environment_too_big bug #50815: env_parallel should warn if the environment is too big
par_sh_environment_too_big OK_bigvar
par_sh_environment_too_big OK_bigvar_remote
@ -331,6 +411,22 @@ par_sh_environment_too_big env_parallel: Error: Try running this in a clean envi
par_sh_environment_too_big env_parallel: Error: env_parallel --record-env
par_sh_environment_too_big env_parallel: Error: And the use '--env _'
par_sh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_sh_env_parallel OK
par_sh_env_parallel OK
par_sh_env_parallel alias line 1
par_sh_env_parallel alias line 1
par_sh_env_parallel alias line 2
par_sh_env_parallel alias line 2
par_sh_env_parallel alias line 3
par_sh_env_parallel alias line 3
par_sh_env_parallel alias2 line 1
par_sh_env_parallel alias2 line 1
par_sh_env_parallel alias2 line 2
par_sh_env_parallel alias2 line 2
par_sh_env_parallel bug #50435: Remote fifo broke in 20150522
par_sh_env_parallel bug #52534: Tail of multiline alias is ignored
par_sh_env_parallel data from stdin
par_sh_env_parallel data from stdin
par_ksh_underscore ### ksh
par_ksh_underscore ### Testing of --env _
par_ksh_underscore variables in aliases in and arrays in functions work
@ -396,12 +492,24 @@ par_ksh_man aliases work
par_ksh_man aliases work
par_ksh_man aliases work
par_ksh_man aliases work
par_ksh_man env_parallel: Warning: Alias "multiline" contains newline.
par_ksh_man env_parallel: Warning: Make sure the command has at least one newline after "multiline".
par_ksh_man env_parallel: Warning: See BUGS in "man env_parallel".
par_ksh_man multiline
par_ksh_man aliases work
par_ksh_man env_parallel: Warning: Alias "multiline" contains newline.
par_ksh_man env_parallel: Warning: Make sure the command has at least one newline after "multiline".
par_ksh_man env_parallel: Warning: See BUGS in "man env_parallel".
par_ksh_man multiline
par_ksh_man aliases work
par_ksh_man env_parallel: Warning: Alias "multiline" contains newline.
par_ksh_man env_parallel: Warning: Make sure the command has at least one newline after "multiline".
par_ksh_man env_parallel: Warning: See BUGS in "man env_parallel".
par_ksh_man multiline
par_ksh_man aliases work
par_ksh_man env_parallel: Warning: Alias "multiline" contains newline.
par_ksh_man env_parallel: Warning: Make sure the command has at least one newline after "multiline".
par_ksh_man env_parallel: Warning: See BUGS in "man env_parallel".
par_ksh_man multiline
par_ksh_man aliases work
par_ksh_man functions work
@ -454,49 +562,49 @@ par_ksh_environment_too_big OK_bigfunc_remote
par_ksh_environment_too_big OK_bigfunc_quote
par_ksh_environment_too_big OK_bigfunc_quote_remote
par_ksh_environment_too_big Rest should fail
par_ksh_environment_too_big ksh[163]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big ksh[170]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_ksh_environment_too_big env_parallel: Error: And the use '--env _'
par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ksh_environment_too_big ksh[163]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big ksh[170]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_ksh_environment_too_big env_parallel: Error: And the use '--env _'
par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ksh_environment_too_big ksh[163]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big ksh[170]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_ksh_environment_too_big env_parallel: Error: And the use '--env _'
par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ksh_environment_too_big ksh[163]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big ksh[170]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_ksh_environment_too_big env_parallel: Error: And the use '--env _'
par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ksh_environment_too_big ksh[163]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big ksh[170]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_ksh_environment_too_big env_parallel: Error: And the use '--env _'
par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ksh_environment_too_big ksh[163]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big ksh[170]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_ksh_environment_too_big env_parallel: Error: And the use '--env _'
par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ksh_environment_too_big ksh[163]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big ksh[170]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
par_ksh_environment_too_big env_parallel: Error: And the use '--env _'
par_ksh_environment_too_big env_parallel: Error: For details see: man env_parallel
par_ksh_environment_too_big ksh[163]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big ksh[170]: which: /usr/bin/which: cannot execute [Argument list too long]
par_ksh_environment_too_big env_parallel: Error: Your environment is too big.
par_ksh_environment_too_big env_parallel: Error: Try running this in a clean environment once:
par_ksh_environment_too_big env_parallel: Error: env_parallel --record-env
@ -512,12 +620,22 @@ par_ksh_env_parallel alias line 3
par_ksh_env_parallel alias line 3
par_ksh_env_parallel alias2 line 1
par_ksh_env_parallel alias2 line 1
par_ksh_env_parallel alias2 line 2
par_ksh_env_parallel alias2 line 2
par_ksh_env_parallel bug #50435: Remote fifo broke in 20150522
par_ksh_env_parallel bug #52534: Tail of multiline alias is ignored
par_ksh_env_parallel data from stdin
par_ksh_env_parallel data from stdin
par_ksh_env_parallel env_parallel: Warning: Alias "myalias" contains newline.
par_ksh_env_parallel env_parallel: Warning: Alias "myalias" contains newline.
par_ksh_env_parallel env_parallel: Warning: Alias "myalias2" contains newline.
par_ksh_env_parallel env_parallel: Warning: Alias "myalias2" contains newline.
par_ksh_env_parallel env_parallel: Warning: Make sure the command has at least one newline after "myalias".
par_ksh_env_parallel env_parallel: Warning: Make sure the command has at least one newline after "myalias".
par_ksh_env_parallel env_parallel: Warning: Make sure the command has at least one newline after "myalias2".
par_ksh_env_parallel env_parallel: Warning: Make sure the command has at least one newline after "myalias2".
par_ksh_env_parallel env_parallel: Warning: See BUGS in "man env_parallel".
par_ksh_env_parallel env_parallel: Warning: See BUGS in "man env_parallel".
par_ksh_env_parallel env_parallel: Warning: See BUGS in "man env_parallel".
par_ksh_env_parallel env_parallel: Warning: See BUGS in "man env_parallel".
par_fish_underscore ### fish
par_fish_underscore ### Testing of --env _
par_fish_underscore variables in aliases and arrays in functions work
@ -621,6 +739,20 @@ par_fish_env_parallel OK
par_fish_env_parallel $? is not the exit status. In fish, please use $status.
par_fish_env_parallel fish: cat $PARALLEL_TMP; and echo $OK;perl -e '$bash=shift;$csh=shift;for(@ARGV){unlink;rmdir;}if($bash=~s/h//){exit$bash;}exit$csh;' "$?h" "$status" $PARALLEL_TMP
par_fish_env_parallel ^
par_dash_underscore ### dash
par_dash_underscore ### Testing of --env _
par_dash_underscore variables in aliases work
par_dash_underscore variables in aliases work
par_dash_underscore variables in aliases work
par_dash_underscore variables in aliases work
par_dash_underscore /bin/dash: 4: not_copied_alias: not found
par_dash_underscore error=OK
par_dash_underscore aliases work
par_dash_underscore aliases work
par_dash_underscore /bin/dash: 2: myecho: not found
par_dash_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_dash_underscore /bin/dash: 2: myecho: not found
par_dash_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_dash_parset parset
par_dash_parset ### parset into vars with comma
par_dash_parset foo bar baz
@ -648,6 +780,40 @@ par_dash_parset newline2
par_dash_parset 1
par_dash_parset 2
par_dash_parset 3
par_dash_man ### dash
par_dash_man ### From man env_parallel
par_dash_man aliases work
par_dash_man aliases work
par_dash_man aliases work
par_dash_man aliases work
par_dash_man multiline
par_dash_man aliases work
par_dash_man multiline
par_dash_man aliases work
par_dash_man multiline
par_dash_man aliases work
par_dash_man multiline
par_dash_man aliases work
par_dash_man variables work
par_dash_man variables work
par_dash_man variables work
par_dash_man variables work
par_dash_man multiline
par_dash_man variables work
par_dash_man multiline
par_dash_man variables work
par_dash_man multiline
par_dash_man variables work
par_dash_man multiline
par_dash_man variables work
par_dash_man exit value 2 should be 2
par_dash_man Unknown option: no-such-option
par_dash_man exit value 255 should be 255
par_dash_funky
par_dash_funky 3 arg alias_works
par_dash_funky 3 arg alias_works_over_ssh
par_dash_funky \\\\\\\\
par_dash_funky \ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
par_dash_environment_too_big bug #50815: env_parallel should warn if the environment is too big
par_dash_environment_too_big OK_bigvar
par_dash_environment_too_big OK_bigvar_remote
@ -678,6 +844,22 @@ par_dash_environment_too_big env_parallel: Error: Try running this in a clean en
par_dash_environment_too_big env_parallel: Error: env_parallel --record-env
par_dash_environment_too_big env_parallel: Error: And the use '--env _'
par_dash_environment_too_big env_parallel: Error: For details see: man env_parallel
par_dash_env_parallel OK
par_dash_env_parallel OK
par_dash_env_parallel alias line 1
par_dash_env_parallel alias line 1
par_dash_env_parallel alias line 2
par_dash_env_parallel alias line 2
par_dash_env_parallel alias line 3
par_dash_env_parallel alias line 3
par_dash_env_parallel alias2 line 1
par_dash_env_parallel alias2 line 1
par_dash_env_parallel alias2 line 2
par_dash_env_parallel alias2 line 2
par_dash_env_parallel bug #50435: Remote fifo broke in 20150522
par_dash_env_parallel bug #52534: Tail of multiline alias is ignored
par_dash_env_parallel data from stdin
par_dash_env_parallel data from stdin
par_csh_underscore ### csh
par_csh_underscore ### Testing of --env _
par_csh_underscore #: Command not found.
@ -873,6 +1055,14 @@ par_bash_man variables work
par_bash_man variables work
par_bash_man variables work
par_bash_man variables work
par_bash_man multiline
par_bash_man variables work
par_bash_man multiline
par_bash_man variables work
par_bash_man multiline
par_bash_man variables work
par_bash_man multiline
par_bash_man variables work
par_bash_man arrays
par_bash_man work,
par_bash_man too
@ -992,6 +1182,20 @@ par_bash_env_parallel env_parallel: Warning: See BUGS in 'man env_parallel'.
par_bash_env_parallel env_parallel: Warning: See BUGS in 'man env_parallel'.
par_bash_env_parallel env_parallel: Warning: See BUGS in 'man env_parallel'.
par_bash_env_parallel env_parallel: Warning: See BUGS in 'man env_parallel'.
par_ash_underscore ### ash
par_ash_underscore ### Testing of --env _
par_ash_underscore variables in aliases work
par_ash_underscore variables in aliases work
par_ash_underscore variables in aliases work
par_ash_underscore variables in aliases work
par_ash_underscore /bin/ash: 4: not_copied_alias: not found
par_ash_underscore error=OK
par_ash_underscore aliases work
par_ash_underscore aliases work
par_ash_underscore /bin/ash: 2: myecho: not found
par_ash_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_ash_underscore /bin/ash: 2: myecho: not found
par_ash_underscore OK if no myecho ^^^^^^^^^^^^^^^^^
par_ash_parset parset
par_ash_parset ### parset into vars with comma
par_ash_parset foo bar baz
@ -1019,6 +1223,40 @@ par_ash_parset newline2
par_ash_parset 1
par_ash_parset 2
par_ash_parset 3
par_ash_man ### ash
par_ash_man ### From man env_parallel
par_ash_man aliases work
par_ash_man aliases work
par_ash_man aliases work
par_ash_man aliases work
par_ash_man multiline
par_ash_man aliases work
par_ash_man multiline
par_ash_man aliases work
par_ash_man multiline
par_ash_man aliases work
par_ash_man multiline
par_ash_man aliases work
par_ash_man variables work
par_ash_man variables work
par_ash_man variables work
par_ash_man variables work
par_ash_man multiline
par_ash_man variables work
par_ash_man multiline
par_ash_man variables work
par_ash_man multiline
par_ash_man variables work
par_ash_man multiline
par_ash_man variables work
par_ash_man exit value 2 should be 2
par_ash_man Unknown option: no-such-option
par_ash_man exit value 255 should be 255
par_ash_funky
par_ash_funky 3 arg alias_works
par_ash_funky 3 arg alias_works_over_ssh
par_ash_funky \\\\\\\\
par_ash_funky \ \ \ \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<7F>\\ƒ\„\…\†\‡\ˆ\‰\Š\\Œ\<5C>\Ž\<5C>\<5C>\\\“\”\•\\—\˜\™\š\\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
par_ash_environment_too_big bug #50815: env_parallel should warn if the environment is too big
par_ash_environment_too_big OK_bigvar
par_ash_environment_too_big OK_bigvar_remote
@ -1049,3 +1287,19 @@ par_ash_environment_too_big env_parallel: Error: Try running this in a clean 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: For details see: man env_parallel
par_ash_env_parallel OK
par_ash_env_parallel OK
par_ash_env_parallel alias line 1
par_ash_env_parallel alias line 1
par_ash_env_parallel alias line 2
par_ash_env_parallel alias line 2
par_ash_env_parallel alias line 3
par_ash_env_parallel alias line 3
par_ash_env_parallel alias2 line 1
par_ash_env_parallel alias2 line 1
par_ash_env_parallel alias2 line 2
par_ash_env_parallel alias2 line 2
par_ash_env_parallel bug #50435: Remote fifo broke in 20150522
par_ash_env_parallel bug #52534: Tail of multiline alias is ignored
par_ash_env_parallel data from stdin
par_ash_env_parallel data from stdin