mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 14:07:55 +00:00
parallel: Fixed bug #56578: --lb --tag misses some lines.
parallel: Experimental (buggy) --bin.
This commit is contained in:
parent
088b43b5b0
commit
c36cb46a23
4
README
4
README
|
@ -55,6 +55,8 @@ document.
|
||||||
Full installation of GNU Parallel is as simple as:
|
Full installation of GNU Parallel is as simple as:
|
||||||
|
|
||||||
wget https://ftpmirror.gnu.org/parallel/parallel-20190622.tar.bz2
|
wget https://ftpmirror.gnu.org/parallel/parallel-20190622.tar.bz2
|
||||||
|
wget https://ftpmirror.gnu.org/parallel/parallel-20190622.tar.bz2.sig
|
||||||
|
gpg parallel-20190622.tar.bz2.sig
|
||||||
bzip2 -dc parallel-20190622.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20190622.tar.bz2 | tar xvf -
|
||||||
cd parallel-20190622
|
cd parallel-20190622
|
||||||
./configure && make && sudo make install
|
./configure && make && sudo make install
|
||||||
|
@ -66,6 +68,8 @@ If you are not root you can add ~/bin to your path and install in
|
||||||
~/bin and ~/share:
|
~/bin and ~/share:
|
||||||
|
|
||||||
wget https://ftpmirror.gnu.org/parallel/parallel-20190622.tar.bz2
|
wget https://ftpmirror.gnu.org/parallel/parallel-20190622.tar.bz2
|
||||||
|
wget https://ftpmirror.gnu.org/parallel/parallel-20190622.tar.bz2.sig
|
||||||
|
gpg parallel-20190622.tar.bz2.sig
|
||||||
bzip2 -dc parallel-20190622.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20190622.tar.bz2 | tar xvf -
|
||||||
cd parallel-20190622
|
cd parallel-20190622
|
||||||
./configure --prefix=$HOME && make && make install
|
./configure --prefix=$HOME && make && make install
|
||||||
|
|
|
@ -206,7 +206,7 @@ from:tange@gnu.org
|
||||||
to:parallel@gnu.org, bug-parallel@gnu.org
|
to:parallel@gnu.org, bug-parallel@gnu.org
|
||||||
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
||||||
|
|
||||||
Subject: GNU Parallel 20190722 ('') released <<[stable]>>
|
Subject: GNU Parallel 20190722 ('Ryugu') released <<[stable]>>
|
||||||
|
|
||||||
GNU Parallel 20190722 ('') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
GNU Parallel 20190722 ('') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
||||||
|
|
||||||
|
@ -230,6 +230,8 @@ New in this release:
|
||||||
|
|
||||||
* Speedup of startup by 40%: Find the parent shell differerently on GNU/Linux, cache information about the CPU and which setpgrp method to use to make GNU Parallel start 40% faster.
|
* Speedup of startup by 40%: Find the parent shell differerently on GNU/Linux, cache information about the CPU and which setpgrp method to use to make GNU Parallel start 40% faster.
|
||||||
|
|
||||||
|
https://zalinux.ru/?p=2623
|
||||||
|
|
||||||
https://techieroop.com/how-to-run-multiple-bash-scripts-in-parallel/
|
https://techieroop.com/how-to-run-multiple-bash-scripts-in-parallel/
|
||||||
|
|
||||||
https://blogs.oracle.com/solaris/announcing-oracle-solaris-114-sru10
|
https://blogs.oracle.com/solaris/announcing-oracle-solaris-114-sru10
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
# after which 'env_parallel' works
|
# after which 'env_parallel' works
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016-2019
|
# Copyright (C) 2016-2019 Ole Tange and Free Software Foundation, Inc.
|
||||||
# Ole Tange and Free Software Foundation, Inc.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -215,9 +214,11 @@ env_parallel() {
|
||||||
|
|
||||||
# Grep regexp for vars given by --env
|
# Grep regexp for vars given by --env
|
||||||
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
||||||
|
unset _make_grep_REGEXP
|
||||||
|
|
||||||
# Deal with --env _
|
# Deal with --env _
|
||||||
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
||||||
|
unset _get_ignored_VARS
|
||||||
|
|
||||||
# --record-env
|
# --record-env
|
||||||
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
||||||
|
@ -298,17 +299,22 @@ env_parallel() {
|
||||||
$_list_variable_VALUES;
|
$_list_variable_VALUES;
|
||||||
`"
|
`"
|
||||||
export PARALLEL_ENV
|
export PARALLEL_ENV
|
||||||
unset _list_alias_BODIES
|
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
|
||||||
unset _list_variable_VALUES
|
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
|
||||||
unset _list_function_BODIES
|
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
|
||||||
unset _grep_REGEXP
|
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
|
||||||
unset _ignore_UNDERSCORE
|
unset _remove_bad_NAMES _grep_REGEXP
|
||||||
|
unset _prefix_PARALLEL_ENV
|
||||||
# Test if environment is too big
|
# Test if environment is too big
|
||||||
if `_which_PAR true` >/dev/null 2>/dev/null ; then
|
if `_which_PAR true` >/dev/null 2>/dev/null ; then
|
||||||
parallel "$@";
|
parallel "$@"
|
||||||
_parallel_exit_CODE=$?
|
_parallel_exit_CODE=$?
|
||||||
unset PARALLEL_ENV;
|
# Clean up variables/functions
|
||||||
return $_parallel_exit_CODE
|
unset PARALLEL_ENV
|
||||||
|
unset _which_PAR _which_TRUE
|
||||||
|
unset _warning_PAR _error_PAR
|
||||||
|
# Unset _parallel_exit_CODE before return
|
||||||
|
eval "unset _parallel_exit_CODE; return $_parallel_exit_CODE"
|
||||||
else
|
else
|
||||||
unset PARALLEL_ENV;
|
unset PARALLEL_ENV;
|
||||||
_error_PAR "Your environment is too big."
|
_error_PAR "Your environment is too big."
|
||||||
|
@ -404,5 +410,7 @@ _parset_main() {
|
||||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
||||||
) )"
|
) )"
|
||||||
fi
|
fi
|
||||||
return `cat "$_exit_FILE"; rm "$_exit_FILE"`
|
unset _parset_NAME _parset_PARALLEL_PRG _parallel_exit_CODE
|
||||||
|
# Unset _exit_FILE before return
|
||||||
|
eval "unset _exit_FILE; return \`cat $_exit_FILE; rm $_exit_FILE\`"
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
# after which 'env_parallel' works
|
# after which 'env_parallel' works
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016-2019
|
# Copyright (C) 2016-2019 Ole Tange and Free Software Foundation, Inc.
|
||||||
# Ole Tange and Free Software Foundation, Inc.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -207,9 +206,11 @@ env_parallel() {
|
||||||
|
|
||||||
# Grep regexp for vars given by --env
|
# Grep regexp for vars given by --env
|
||||||
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
||||||
|
unset _make_grep_REGEXP
|
||||||
|
|
||||||
# Deal with --env _
|
# Deal with --env _
|
||||||
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
||||||
|
unset _get_ignored_VARS
|
||||||
|
|
||||||
# --record-env
|
# --record-env
|
||||||
# Bash is broken in version 3.2.25 and 4.2.39
|
# Bash is broken in version 3.2.25 and 4.2.39
|
||||||
|
@ -251,6 +252,8 @@ env_parallel() {
|
||||||
export PARALLEL_IGNORED_NAMES
|
export PARALLEL_IGNORED_NAMES
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
# Bash is broken in version 3.2.25 and 4.2.39
|
||||||
|
# The crazy '[ "`...`" == 0 ]' is needed for the same reason
|
||||||
if [ "`perl -e 'exit grep { /^--end.?session$/ } @ARGV' -- "$@"; echo $?`" == 0 ] ; then
|
if [ "`perl -e 'exit grep { /^--end.?session$/ } @ARGV' -- "$@"; echo $?`" == 0 ] ; then
|
||||||
true skip
|
true skip
|
||||||
else
|
else
|
||||||
|
@ -298,17 +301,22 @@ env_parallel() {
|
||||||
$_list_variable_VALUES;
|
$_list_variable_VALUES;
|
||||||
`"
|
`"
|
||||||
export PARALLEL_ENV
|
export PARALLEL_ENV
|
||||||
unset _list_alias_BODIES
|
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
|
||||||
unset _list_variable_VALUES
|
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
|
||||||
unset _list_function_BODIES
|
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
|
||||||
unset _grep_REGEXP
|
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
|
||||||
unset _ignore_UNDERSCORE
|
unset _remove_bad_NAMES _grep_REGEXP
|
||||||
|
unset _prefix_PARALLEL_ENV
|
||||||
# Test if environment is too big
|
# Test if environment is too big
|
||||||
if [ "`_which_PAR true`" == "$_which_TRUE" ] ; then
|
if [ "`_which_PAR true`" == "$_which_TRUE" ] ; then
|
||||||
parallel "$@";
|
parallel "$@"
|
||||||
_parallel_exit_CODE=$?
|
_parallel_exit_CODE=$?
|
||||||
unset PARALLEL_ENV;
|
# Clean up variables/functions
|
||||||
return $_parallel_exit_CODE
|
unset PARALLEL_ENV
|
||||||
|
unset _which_PAR _which_TRUE
|
||||||
|
unset _warning_PAR _error_PAR
|
||||||
|
# Unset _parallel_exit_CODE before return
|
||||||
|
eval "unset _parallel_exit_CODE; return $_parallel_exit_CODE"
|
||||||
else
|
else
|
||||||
unset PARALLEL_ENV;
|
unset PARALLEL_ENV;
|
||||||
_error_PAR "Your environment is too big."
|
_error_PAR "Your environment is too big."
|
||||||
|
@ -404,5 +412,7 @@ _parset_main() {
|
||||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
||||||
) )"
|
) )"
|
||||||
fi
|
fi
|
||||||
return `cat "$_exit_FILE"; rm "$_exit_FILE"`
|
unset _parset_NAME _parset_PARALLEL_PRG _parallel_exit_CODE
|
||||||
|
# Unset _exit_FILE before return
|
||||||
|
eval "unset _exit_FILE; return \`cat $_exit_FILE; rm $_exit_FILE\`"
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
# after which 'env_parallel' works
|
# after which 'env_parallel' works
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016-2019
|
# Copyright (C) 2016-2019 Ole Tange and Free Software Foundation, Inc.
|
||||||
# Ole Tange and Free Software Foundation, Inc.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
# after which 'env_parallel' works
|
# after which 'env_parallel' works
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016-2019
|
# Copyright (C) 2016-2019 Ole Tange and Free Software Foundation, Inc.
|
||||||
# Ole Tange and Free Software Foundation, Inc.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -215,9 +214,11 @@ env_parallel() {
|
||||||
|
|
||||||
# Grep regexp for vars given by --env
|
# Grep regexp for vars given by --env
|
||||||
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
||||||
|
unset _make_grep_REGEXP
|
||||||
|
|
||||||
# Deal with --env _
|
# Deal with --env _
|
||||||
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
||||||
|
unset _get_ignored_VARS
|
||||||
|
|
||||||
# --record-env
|
# --record-env
|
||||||
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
||||||
|
@ -298,17 +299,22 @@ env_parallel() {
|
||||||
$_list_variable_VALUES;
|
$_list_variable_VALUES;
|
||||||
`"
|
`"
|
||||||
export PARALLEL_ENV
|
export PARALLEL_ENV
|
||||||
unset _list_alias_BODIES
|
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
|
||||||
unset _list_variable_VALUES
|
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
|
||||||
unset _list_function_BODIES
|
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
|
||||||
unset _grep_REGEXP
|
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
|
||||||
unset _ignore_UNDERSCORE
|
unset _remove_bad_NAMES _grep_REGEXP
|
||||||
|
unset _prefix_PARALLEL_ENV
|
||||||
# Test if environment is too big
|
# Test if environment is too big
|
||||||
if `_which_PAR true` >/dev/null 2>/dev/null ; then
|
if `_which_PAR true` >/dev/null 2>/dev/null ; then
|
||||||
parallel "$@";
|
parallel "$@"
|
||||||
_parallel_exit_CODE=$?
|
_parallel_exit_CODE=$?
|
||||||
unset PARALLEL_ENV;
|
# Clean up variables/functions
|
||||||
return $_parallel_exit_CODE
|
unset PARALLEL_ENV
|
||||||
|
unset _which_PAR _which_TRUE
|
||||||
|
unset _warning_PAR _error_PAR
|
||||||
|
# Unset _parallel_exit_CODE before return
|
||||||
|
eval "unset _parallel_exit_CODE; return $_parallel_exit_CODE"
|
||||||
else
|
else
|
||||||
unset PARALLEL_ENV;
|
unset PARALLEL_ENV;
|
||||||
_error_PAR "Your environment is too big."
|
_error_PAR "Your environment is too big."
|
||||||
|
@ -404,5 +410,7 @@ _parset_main() {
|
||||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
||||||
) )"
|
) )"
|
||||||
fi
|
fi
|
||||||
return `cat "$_exit_FILE"; rm "$_exit_FILE"`
|
unset _parset_NAME _parset_PARALLEL_PRG _parallel_exit_CODE
|
||||||
|
# Unset _exit_FILE before return
|
||||||
|
eval "unset _exit_FILE; return \`cat $_exit_FILE; rm $_exit_FILE\`"
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
# after which 'env_parallel' works
|
# after which 'env_parallel' works
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016-2019
|
# Copyright (C) 2016-2019 Ole Tange and Free Software Foundation, Inc.
|
||||||
# Ole Tange and Free Software Foundation, Inc.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
# after which 'env_parallel' works
|
# after which 'env_parallel' works
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016-2019
|
# Copyright (C) 2016-2019 Ole Tange and Free Software Foundation, Inc.
|
||||||
# Ole Tange and Free Software Foundation, Inc.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -198,9 +197,11 @@ env_parallel() {
|
||||||
|
|
||||||
# Grep regexp for vars given by --env
|
# Grep regexp for vars given by --env
|
||||||
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
||||||
|
unset _make_grep_REGEXP
|
||||||
|
|
||||||
# Deal with --env _
|
# Deal with --env _
|
||||||
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
||||||
|
unset _get_ignored_VARS
|
||||||
|
|
||||||
# --record-env
|
# --record-env
|
||||||
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
||||||
|
@ -281,17 +282,22 @@ env_parallel() {
|
||||||
$_list_variable_VALUES;
|
$_list_variable_VALUES;
|
||||||
`"
|
`"
|
||||||
export PARALLEL_ENV
|
export PARALLEL_ENV
|
||||||
unset _list_alias_BODIES
|
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
|
||||||
unset _list_variable_VALUES
|
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
|
||||||
unset _list_function_BODIES
|
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
|
||||||
unset _grep_REGEXP
|
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
|
||||||
unset _ignore_UNDERSCORE
|
unset _remove_bad_NAMES _grep_REGEXP
|
||||||
|
unset _prefix_PARALLEL_ENV
|
||||||
# Test if environment is too big
|
# Test if environment is too big
|
||||||
if `_which_PAR true` >/dev/null 2>/dev/null ; then
|
if `_which_PAR true` >/dev/null 2>/dev/null ; then
|
||||||
parallel "$@";
|
parallel "$@"
|
||||||
_parallel_exit_CODE=$?
|
_parallel_exit_CODE=$?
|
||||||
unset PARALLEL_ENV;
|
# Clean up variables/functions
|
||||||
return $_parallel_exit_CODE
|
unset PARALLEL_ENV
|
||||||
|
unset _which_PAR _which_TRUE
|
||||||
|
unset _warning_PAR _error_PAR
|
||||||
|
# Unset _parallel_exit_CODE before return
|
||||||
|
eval "unset _parallel_exit_CODE; return $_parallel_exit_CODE"
|
||||||
else
|
else
|
||||||
unset PARALLEL_ENV;
|
unset PARALLEL_ENV;
|
||||||
_error_PAR "Your environment is too big."
|
_error_PAR "Your environment is too big."
|
||||||
|
@ -387,5 +393,7 @@ _parset_main() {
|
||||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
||||||
) )"
|
) )"
|
||||||
fi
|
fi
|
||||||
return `cat "$_exit_FILE"; rm "$_exit_FILE"`
|
unset _parset_NAME _parset_PARALLEL_PRG _parallel_exit_CODE
|
||||||
|
# Unset _exit_FILE before return
|
||||||
|
eval "unset _exit_FILE; return \`cat $_exit_FILE; rm $_exit_FILE\`"
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
# after which 'env_parallel' works
|
# after which 'env_parallel' works
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016-2019
|
# Copyright (C) 2016-2019 Ole Tange and Free Software Foundation, Inc.
|
||||||
# Ole Tange and Free Software Foundation, Inc.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -201,9 +200,11 @@ env_parallel() {
|
||||||
|
|
||||||
# Grep regexp for vars given by --env
|
# Grep regexp for vars given by --env
|
||||||
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
||||||
|
unset _make_grep_REGEXP
|
||||||
|
|
||||||
# Deal with --env _
|
# Deal with --env _
|
||||||
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
||||||
|
unset _get_ignored_VARS
|
||||||
|
|
||||||
# --record-env
|
# --record-env
|
||||||
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
||||||
|
@ -284,17 +285,22 @@ env_parallel() {
|
||||||
$_list_variable_VALUES;
|
$_list_variable_VALUES;
|
||||||
`"
|
`"
|
||||||
export PARALLEL_ENV
|
export PARALLEL_ENV
|
||||||
unset _list_alias_BODIES
|
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
|
||||||
unset _list_variable_VALUES
|
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
|
||||||
unset _list_function_BODIES
|
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
|
||||||
unset _grep_REGEXP
|
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
|
||||||
unset _ignore_UNDERSCORE
|
unset _remove_bad_NAMES _grep_REGEXP
|
||||||
|
unset _prefix_PARALLEL_ENV
|
||||||
# Test if environment is too big
|
# Test if environment is too big
|
||||||
if `_which_PAR true` >/dev/null 2>/dev/null ; then
|
if `_which_PAR true` >/dev/null 2>/dev/null ; then
|
||||||
parallel "$@";
|
parallel "$@"
|
||||||
_parallel_exit_CODE=$?
|
_parallel_exit_CODE=$?
|
||||||
unset PARALLEL_ENV;
|
# Clean up variables/functions
|
||||||
return $_parallel_exit_CODE
|
unset PARALLEL_ENV
|
||||||
|
unset _which_PAR _which_TRUE
|
||||||
|
unset _warning_PAR _error_PAR
|
||||||
|
# Unset _parallel_exit_CODE before return
|
||||||
|
eval "unset _parallel_exit_CODE; return $_parallel_exit_CODE"
|
||||||
else
|
else
|
||||||
unset PARALLEL_ENV;
|
unset PARALLEL_ENV;
|
||||||
_error_PAR "Your environment is too big."
|
_error_PAR "Your environment is too big."
|
||||||
|
@ -390,5 +396,7 @@ _parset_main() {
|
||||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
||||||
) )"
|
) )"
|
||||||
fi
|
fi
|
||||||
return `cat "$_exit_FILE"; rm "$_exit_FILE"`
|
unset _parset_NAME _parset_PARALLEL_PRG _parallel_exit_CODE
|
||||||
|
# Unset _exit_FILE before return
|
||||||
|
eval "unset _exit_FILE; return \`cat $_exit_FILE; rm $_exit_FILE\`"
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
# after which 'env_parallel' works
|
# after which 'env_parallel' works
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016-2019
|
# Copyright (C) 2016-2019 Ole Tange and Free Software Foundation, Inc.
|
||||||
# Ole Tange and Free Software Foundation, Inc.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -114,44 +113,11 @@ env_parallel() {
|
||||||
|
|
||||||
# Grep regexp for vars given by --env
|
# Grep regexp for vars given by --env
|
||||||
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
||||||
|
unset _make_grep_REGEXP
|
||||||
|
|
||||||
# Deal with --env _
|
# Deal with --env _
|
||||||
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
||||||
|
unset _get_ignored_VARS
|
||||||
# Get the --env variables if set
|
|
||||||
# --env _ should be ignored
|
|
||||||
# and convert a b c to (a|b|c)
|
|
||||||
# If --env not set: Match everything (.*)
|
|
||||||
_grep_REGEXP="$(
|
|
||||||
perl -e '
|
|
||||||
for(@ARGV){
|
|
||||||
/^_$/ and $next_is_env = 0;
|
|
||||||
$next_is_env and push @envvar, split/,/, $_;
|
|
||||||
$next_is_env = /^--env$/;
|
|
||||||
}
|
|
||||||
$vars = join "|",map { quotemeta $_ } @envvar;
|
|
||||||
print $vars ? "($vars)" : "(.*)";
|
|
||||||
' -- "$@"
|
|
||||||
)"
|
|
||||||
# Deal with --env _
|
|
||||||
_ignore_UNDERSCORE="$(
|
|
||||||
perl -e '
|
|
||||||
for(@ARGV){
|
|
||||||
$next_is_env and push @envvar, split/,/, $_;
|
|
||||||
$next_is_env=/^--env$/;
|
|
||||||
}
|
|
||||||
if(grep { /^_$/ } @envvar) {
|
|
||||||
if(not open(IN, "<", "$ENV{HOME}/.parallel/ignored_vars")) {
|
|
||||||
print STDERR "parallel: Error: ",
|
|
||||||
"Run \"parallel --record-env\" in a clean environment first.\n";
|
|
||||||
} else {
|
|
||||||
chomp(@ignored_vars = <IN>);
|
|
||||||
$vars = join "|",map { quotemeta $_ } "env_parallel", @ignored_vars;
|
|
||||||
print $vars ? "($vars)" : "(,,nO,,VaRs,,)";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
' -- "$@"
|
|
||||||
)"
|
|
||||||
|
|
||||||
# --record-env
|
# --record-env
|
||||||
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
||||||
|
@ -165,7 +131,7 @@ env_parallel() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Grep alias names
|
# 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"
|
_list_alias_BODIES="_bodies_of_ALIASES $_alias_NAMES"
|
||||||
if [ "$_alias_NAMES" = "" ] ; then
|
if [ "$_alias_NAMES" = "" ] ; then
|
||||||
# no aliases selected
|
# no aliases selected
|
||||||
|
@ -174,7 +140,7 @@ env_parallel() {
|
||||||
unset _alias_NAMES
|
unset _alias_NAMES
|
||||||
|
|
||||||
# Grep function 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"
|
_list_function_BODIES="_bodies_of_FUNCTIONS $_function_NAMES"
|
||||||
if [ "$_function_NAMES" = "" ] ; then
|
if [ "$_function_NAMES" = "" ] ; then
|
||||||
# no functions selected
|
# no functions selected
|
||||||
|
@ -183,7 +149,7 @@ env_parallel() {
|
||||||
unset _function_NAMES
|
unset _function_NAMES
|
||||||
|
|
||||||
# Grep variable 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"
|
_list_variable_VALUES="_bodies_of_VARIABLES $_variable_NAMES"
|
||||||
if [ "$_variable_NAMES" = "" ] ; then
|
if [ "$_variable_NAMES" = "" ] ; then
|
||||||
# no variables selected
|
# no variables selected
|
||||||
|
@ -197,11 +163,17 @@ env_parallel() {
|
||||||
$_list_function_BODIES
|
$_list_function_BODIES
|
||||||
$_list_variable_VALUES;
|
$_list_variable_VALUES;
|
||||||
`";
|
`";
|
||||||
unset _list_alias_BODIES
|
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
|
||||||
unset _list_variable_VALUES
|
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
|
||||||
unset _list_function_BODIES
|
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
|
||||||
`which parallel` "$@";
|
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
|
||||||
|
unset _remove_bad_NAMES _grep_REGEXP
|
||||||
|
unset _prefix_PARALLEL_ENV
|
||||||
|
`which parallel` "$@"
|
||||||
_parallel_exit_CODE=$?
|
_parallel_exit_CODE=$?
|
||||||
unset PARALLEL_ENV;
|
unset PARALLEL_ENV;
|
||||||
return $_parallel_exit_CODE
|
unset _which_PAR _which_TRUE
|
||||||
|
unset _warning_PAR _error_PAR
|
||||||
|
# Unset _parallel_exit_CODE before return
|
||||||
|
eval "unset _parallel_exit_CODE; return $_parallel_exit_CODE"
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
# after which 'env_parallel' works
|
# after which 'env_parallel' works
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016-2019
|
# Copyright (C) 2016-2019 Ole Tange and Free Software Foundation, Inc.
|
||||||
# Ole Tange and Free Software Foundation, Inc.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -215,9 +214,11 @@ env_parallel() {
|
||||||
|
|
||||||
# Grep regexp for vars given by --env
|
# Grep regexp for vars given by --env
|
||||||
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
||||||
|
unset _make_grep_REGEXP
|
||||||
|
|
||||||
# Deal with --env _
|
# Deal with --env _
|
||||||
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
||||||
|
unset _get_ignored_VARS
|
||||||
|
|
||||||
# --record-env
|
# --record-env
|
||||||
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
||||||
|
@ -298,17 +299,22 @@ env_parallel() {
|
||||||
$_list_variable_VALUES;
|
$_list_variable_VALUES;
|
||||||
`"
|
`"
|
||||||
export PARALLEL_ENV
|
export PARALLEL_ENV
|
||||||
unset _list_alias_BODIES
|
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
|
||||||
unset _list_variable_VALUES
|
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
|
||||||
unset _list_function_BODIES
|
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
|
||||||
unset _grep_REGEXP
|
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
|
||||||
unset _ignore_UNDERSCORE
|
unset _remove_bad_NAMES _grep_REGEXP
|
||||||
|
unset _prefix_PARALLEL_ENV
|
||||||
# Test if environment is too big
|
# Test if environment is too big
|
||||||
if `_which_PAR true` >/dev/null 2>/dev/null ; then
|
if `_which_PAR true` >/dev/null 2>/dev/null ; then
|
||||||
parallel "$@";
|
parallel "$@"
|
||||||
_parallel_exit_CODE=$?
|
_parallel_exit_CODE=$?
|
||||||
unset PARALLEL_ENV;
|
# Clean up variables/functions
|
||||||
return $_parallel_exit_CODE
|
unset PARALLEL_ENV
|
||||||
|
unset _which_PAR _which_TRUE
|
||||||
|
unset _warning_PAR _error_PAR
|
||||||
|
# Unset _parallel_exit_CODE before return
|
||||||
|
eval "unset _parallel_exit_CODE; return $_parallel_exit_CODE"
|
||||||
else
|
else
|
||||||
unset PARALLEL_ENV;
|
unset PARALLEL_ENV;
|
||||||
_error_PAR "Your environment is too big."
|
_error_PAR "Your environment is too big."
|
||||||
|
@ -404,5 +410,7 @@ _parset_main() {
|
||||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
||||||
) )"
|
) )"
|
||||||
fi
|
fi
|
||||||
return `cat "$_exit_FILE"; rm "$_exit_FILE"`
|
unset _parset_NAME _parset_PARALLEL_PRG _parallel_exit_CODE
|
||||||
|
# Unset _exit_FILE before return
|
||||||
|
eval "unset _exit_FILE; return \`cat $_exit_FILE; rm $_exit_FILE\`"
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
# after which 'env_parallel' works
|
# after which 'env_parallel' works
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016-2019
|
# Copyright (C) 2016-2019 Ole Tange and Free Software Foundation, Inc.
|
||||||
# Ole Tange and Free Software Foundation, Inc.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
# after which 'env_parallel' works
|
# after which 'env_parallel' works
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016-2019
|
# Copyright (C) 2016-2019 Ole Tange and Free Software Foundation, Inc.
|
||||||
# Ole Tange and Free Software Foundation, Inc.
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -192,9 +191,11 @@ env_parallel() {
|
||||||
|
|
||||||
# Grep regexp for vars given by --env
|
# Grep regexp for vars given by --env
|
||||||
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
_grep_REGEXP="`_make_grep_REGEXP \"$@\"`"
|
||||||
|
unset _make_grep_REGEXP
|
||||||
|
|
||||||
# Deal with --env _
|
# Deal with --env _
|
||||||
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
_ignore_UNDERSCORE="`_get_ignored_VARS \"$@\"`"
|
||||||
|
unset _get_ignored_VARS
|
||||||
|
|
||||||
# --record-env
|
# --record-env
|
||||||
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
if perl -e 'exit grep { /^--record-env$/ } @ARGV' -- "$@"; then
|
||||||
|
@ -275,17 +276,22 @@ env_parallel() {
|
||||||
eval $_list_variable_VALUES;
|
eval $_list_variable_VALUES;
|
||||||
`"
|
`"
|
||||||
export PARALLEL_ENV
|
export PARALLEL_ENV
|
||||||
unset _list_alias_BODIES
|
unset _list_alias_BODIES _list_variable_VALUES _list_function_BODIES
|
||||||
unset _list_variable_VALUES
|
unset _bodies_of_ALIASES _bodies_of_VARIABLES _bodies_of_FUNCTIONS
|
||||||
unset _list_function_BODIES
|
unset _names_of_ALIASES _names_of_VARIABLES _names_of_FUNCTIONS
|
||||||
unset _grep_REGEXP
|
unset _ignore_HARDCODED _ignore_READONLY _ignore_UNDERSCORE
|
||||||
unset _ignore_UNDERSCORE
|
unset _remove_bad_NAMES _grep_REGEXP
|
||||||
|
unset _prefix_PARALLEL_ENV
|
||||||
# Test if environment is too big
|
# Test if environment is too big
|
||||||
if `_which_PAR true` >/dev/null 2>/dev/null ; then
|
if `_which_PAR true` >/dev/null 2>/dev/null ; then
|
||||||
parallel "$@";
|
parallel "$@"
|
||||||
_parallel_exit_CODE=$?
|
_parallel_exit_CODE=$?
|
||||||
unset PARALLEL_ENV;
|
# Clean up variables/functions
|
||||||
return $_parallel_exit_CODE
|
unset PARALLEL_ENV
|
||||||
|
unset _which_PAR _which_TRUE
|
||||||
|
unset _warning_PAR _error_PAR
|
||||||
|
# Unset _parallel_exit_CODE before return
|
||||||
|
eval "unset _parallel_exit_CODE; return $_parallel_exit_CODE"
|
||||||
else
|
else
|
||||||
unset PARALLEL_ENV;
|
unset PARALLEL_ENV;
|
||||||
_error_PAR "Your environment is too big."
|
_error_PAR "Your environment is too big."
|
||||||
|
@ -381,5 +387,7 @@ _parset_main() {
|
||||||
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
perl -pe 'chop;$_="\"\`cat $_; rm $_\`\" "'
|
||||||
) )"
|
) )"
|
||||||
fi
|
fi
|
||||||
return `cat "$_exit_FILE"; rm "$_exit_FILE"`
|
unset _parset_NAME _parset_PARALLEL_PRG _parallel_exit_CODE
|
||||||
|
# Unset _exit_FILE before return
|
||||||
|
eval "unset _exit_FILE; return \`cat $_exit_FILE; rm $_exit_FILE\`"
|
||||||
}
|
}
|
||||||
|
|
97
src/parallel
97
src/parallel
|
@ -415,6 +415,55 @@ sub sharder_script() {
|
||||||
return ::spacefree(1, $script);
|
return ::spacefree(1, $script);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub binner_script() {
|
||||||
|
my $script = q{
|
||||||
|
use B;
|
||||||
|
# Column separator
|
||||||
|
my $sep = shift;
|
||||||
|
# Which columns to shard on (count from 1)
|
||||||
|
my $col = shift;
|
||||||
|
# Which columns to shard on (count from 0)
|
||||||
|
my $col0 = $col - 1;
|
||||||
|
# Perl expression
|
||||||
|
my $perlexpr = shift;
|
||||||
|
my $bins = @ARGV;
|
||||||
|
# Open fifos for writing, fh{0..$bins}
|
||||||
|
my $t = 0;
|
||||||
|
my %fh;
|
||||||
|
# Let the last output fifo be the 0'th
|
||||||
|
open $fh{$t++}, ">", pop @ARGV;
|
||||||
|
for(@ARGV) {
|
||||||
|
open $fh{$t++}, ">", $_;
|
||||||
|
# open blocks until it is opened by reader
|
||||||
|
# so unlink only happens when it is ready
|
||||||
|
unlink $_;
|
||||||
|
}
|
||||||
|
if($perlexpr) {
|
||||||
|
my $subref = eval("sub { no strict; no warnings; $perlexpr }");
|
||||||
|
while(<STDIN>) {
|
||||||
|
# Split into $col columns (no need to split into more)
|
||||||
|
@F = split $sep, $_, $col+1;
|
||||||
|
{
|
||||||
|
local $_ = $F[$col0];
|
||||||
|
&$subref();
|
||||||
|
$fh = $fh{ $_%$bins };
|
||||||
|
}
|
||||||
|
print $fh $_;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
while(<STDIN>) {
|
||||||
|
# Split into $col columns (no need to split into more)
|
||||||
|
@F = split $sep, $_, $col+1;
|
||||||
|
$fh = $fh{ $F[$col0]%$bins };
|
||||||
|
print $fh $_;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# Close all open fifos
|
||||||
|
close values %fh;
|
||||||
|
};
|
||||||
|
return ::spacefree(1, $script);
|
||||||
|
}
|
||||||
|
|
||||||
sub pipe_shard_setup() {
|
sub pipe_shard_setup() {
|
||||||
# Create temporary fifos
|
# Create temporary fifos
|
||||||
# Run 'shard.pl sep col fifo1 fifo2 fifo3 ... fifoN' in the background
|
# Run 'shard.pl sep col fifo1 fifo2 fifo3 ... fifoN' in the background
|
||||||
|
@ -435,10 +484,17 @@ sub pipe_shard_setup() {
|
||||||
$parcatfifos[$n][$m] = $shardfifos[$m][$n] = tmpfifo();
|
$parcatfifos[$n][$m] = $shardfifos[$m][$n] = tmpfifo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
my $script = sharder_script();
|
my $shardbin = ($opt::shard || $opt::bin);
|
||||||
|
my $script;
|
||||||
|
if($opt::bin) {
|
||||||
|
$script = binner_script();
|
||||||
|
} else {
|
||||||
|
$script = sharder_script();
|
||||||
|
}
|
||||||
|
|
||||||
# cat foo | sharder sep col fifo1 fifo2 fifo3 ... fifoN
|
# cat foo | sharder sep col fifo1 fifo2 fifo3 ... fifoN
|
||||||
|
|
||||||
if($opt::shard =~ /^[a-z_][a-z_0-9]*(\s|$)/i) {
|
if($shardbin =~ /^[a-z_][a-z_0-9]*(\s|$)/i) {
|
||||||
# Group by column name
|
# Group by column name
|
||||||
# (Yes, this will also wrongly match a perlexpr like: chop)
|
# (Yes, this will also wrongly match a perlexpr like: chop)
|
||||||
my($read,$char,@line);
|
my($read,$char,@line);
|
||||||
|
@ -451,7 +507,7 @@ sub pipe_shard_setup() {
|
||||||
$Global::header = join "", @line;
|
$Global::header = join "", @line;
|
||||||
}
|
}
|
||||||
my ($col, $perlexpr, $subref) =
|
my ($col, $perlexpr, $subref) =
|
||||||
column_perlexpr($opt::shard, $Global::header, $opt::colsep);
|
column_perlexpr($shardbin, $Global::header, $opt::colsep);
|
||||||
if(not fork()) {
|
if(not fork()) {
|
||||||
# Let the sharder inherit our stdin
|
# Let the sharder inherit our stdin
|
||||||
# and redirect stdout to null
|
# and redirect stdout to null
|
||||||
|
@ -1515,6 +1571,7 @@ sub options_hash() {
|
||||||
"pipepart|pipe-part" => \$opt::pipepart,
|
"pipepart|pipe-part" => \$opt::pipepart,
|
||||||
"tee" => \$opt::tee,
|
"tee" => \$opt::tee,
|
||||||
"shard=s" => \$opt::shard,
|
"shard=s" => \$opt::shard,
|
||||||
|
"bin=s" => \$opt::bin,
|
||||||
"groupby|group-by=s" => \$opt::groupby,
|
"groupby|group-by=s" => \$opt::groupby,
|
||||||
"hgrp|hostgrp|hostgroup|hostgroups" => \$opt::hostgroups,
|
"hgrp|hostgrp|hostgroup|hostgroups" => \$opt::hostgroups,
|
||||||
"embed" => \$opt::embed,
|
"embed" => \$opt::embed,
|
||||||
|
@ -9319,7 +9376,7 @@ sub start($) {
|
||||||
::set_fh_non_blocking($stdin_fh);
|
::set_fh_non_blocking($stdin_fh);
|
||||||
}
|
}
|
||||||
$job->set_fh(0,"w",$stdin_fh);
|
$job->set_fh(0,"w",$stdin_fh);
|
||||||
if($opt::tee or $opt::shard) { $job->set_virgin(0); }
|
if($opt::tee or $opt::shard or $opt::bin) { $job->set_virgin(0); }
|
||||||
} elsif ($opt::tty and -c "/dev/tty" and
|
} elsif ($opt::tty and -c "/dev/tty" and
|
||||||
open(my $devtty_fh, "<", "/dev/tty")) {
|
open(my $devtty_fh, "<", "/dev/tty")) {
|
||||||
# Give /dev/tty to the command if no one else is using it
|
# Give /dev/tty to the command if no one else is using it
|
||||||
|
@ -9818,7 +9875,7 @@ sub print_linebuffer($) {
|
||||||
$outputlength += $rv;
|
$outputlength += $rv;
|
||||||
# TODO --recend
|
# TODO --recend
|
||||||
# Treat both \n and \r as line end
|
# Treat both \n and \r as line end
|
||||||
$i = (rindex($buf,"\n")+1) || (rindex($buf,"\r")+1);
|
$i = ::max((rindex($buf,"\n")+1), (rindex($buf,"\r")+1));
|
||||||
if($i) {
|
if($i) {
|
||||||
# One or more complete lines were found
|
# One or more complete lines were found
|
||||||
if($opt::tag or defined $opt::tagstring) {
|
if($opt::tag or defined $opt::tagstring) {
|
||||||
|
@ -9828,15 +9885,15 @@ sub print_linebuffer($) {
|
||||||
my $tag = $self->tag();
|
my $tag = $self->tag();
|
||||||
unshift @$halfline_ref, $tag;
|
unshift @$halfline_ref, $tag;
|
||||||
# TODO --recend that can be partially in @$halfline_ref
|
# TODO --recend that can be partially in @$halfline_ref
|
||||||
substr($buf,0,$i-1) =~ s/(?<=[\n\r])/$tag/gm;
|
substr($buf,0,$i-1) =~ s/(?<=[\n\r])(?=.|$)/$tag/gs;
|
||||||
# The length changed, so find the new ending pos
|
# The length changed, so find the new ending pos
|
||||||
$i = (rindex($buf,"\n")+1) || (rindex($buf,"\r")+1);
|
$i = ::max((rindex($buf,"\n")+1), (rindex($buf,"\r")+1));
|
||||||
} else {
|
} else {
|
||||||
# Replace with freshly computed value of tag
|
# Replace with freshly computed value of tag
|
||||||
unshift @$halfline_ref, $self->tag();
|
unshift @$halfline_ref, $self->tag();
|
||||||
substr($buf,0,$i-1) =~ s/(?<=[\n\r])/$self->tag()/gme;
|
substr($buf,0,$i-1) =~ s/(?<=[\n\r])(?=.|$)/$self->tag()/gse;
|
||||||
# The length changed, so find the new ending pos
|
# The length changed, so find the new ending pos
|
||||||
$i = (rindex($buf,"\n")+1) || (rindex($buf,"\r")+1);
|
$i = ::max((rindex($buf,"\n")+1), (rindex($buf,"\r")+1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# Print the partial line (halfline) and the last half
|
# Print the partial line (halfline) and the last half
|
||||||
|
@ -9930,8 +9987,10 @@ sub print_normal($) {
|
||||||
local $/ = "\n";
|
local $/ = "\n";
|
||||||
my $tag = $self->tag();
|
my $tag = $self->tag();
|
||||||
while(<$in_fh>) {
|
while(<$in_fh>) {
|
||||||
print $out_fd $tag,$_;
|
|
||||||
$outputlength += length $_;
|
$outputlength += length $_;
|
||||||
|
# Tag lines with \r, too
|
||||||
|
$_ =~ s/(?<=[\r])(?=.|$)/$tag/gs;
|
||||||
|
print $out_fd $tag,$_;
|
||||||
if($Global::membuffer) {
|
if($Global::membuffer) {
|
||||||
push @{$self->{'output'}{$fdno}}, $tag, $_;
|
push @{$self->{'output'}{$fdno}}, $tag, $_;
|
||||||
}
|
}
|
||||||
|
@ -12774,7 +12833,7 @@ sub main() {
|
||||||
pipepart_setup();
|
pipepart_setup();
|
||||||
} elsif($opt::pipe and $opt::tee) {
|
} elsif($opt::pipe and $opt::tee) {
|
||||||
pipe_tee_setup();
|
pipe_tee_setup();
|
||||||
} elsif($opt::pipe and $opt::shard) {
|
} elsif($opt::pipe and $opt::shard or $opt::bin) {
|
||||||
pipe_shard_setup();
|
pipe_shard_setup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12798,12 +12857,22 @@ sub main() {
|
||||||
$SIG{TERM} = $Global::original_sig{TERM};
|
$SIG{TERM} = $Global::original_sig{TERM};
|
||||||
$SIG{HUP} = \&start_no_new_jobs;
|
$SIG{HUP} = \&start_no_new_jobs;
|
||||||
|
|
||||||
if($opt::tee or $opt::shard) {
|
if($opt::tee or $opt::shard or $opt::bin) {
|
||||||
# All jobs must be running in parallel for --tee/--shard
|
# All jobs must be running in parallel for --tee/--shard/--bin
|
||||||
while(start_more_jobs()) {}
|
while(start_more_jobs()) {}
|
||||||
$Global::start_no_new_jobs = 1;
|
$Global::start_no_new_jobs = 1;
|
||||||
if(not $Global::JobQueue->empty()) {
|
if(not $Global::JobQueue->empty()) {
|
||||||
::error("--tee requres --jobs to be higher. Try --jobs 0.");
|
if($opt::tee) {
|
||||||
|
::error("--tee requires --jobs to be higher. Try --jobs 0.");
|
||||||
|
} elsif($opt::bin) {
|
||||||
|
::error("--bin requires --jobs to be higher than the number of",
|
||||||
|
"arguments. Increase --jobs.");
|
||||||
|
} elsif($opt::shard) {
|
||||||
|
::error("--shard requires --jobs to be higher than the number of",
|
||||||
|
"arguments. Increase --jobs.");
|
||||||
|
} else {
|
||||||
|
::die_bug("--bin/--shard/--tee should not get here");
|
||||||
|
}
|
||||||
::wait_and_exit(255);
|
::wait_and_exit(255);
|
||||||
}
|
}
|
||||||
} elsif($opt::pipe and not $opt::pipepart) {
|
} elsif($opt::pipe and not $opt::pipepart) {
|
||||||
|
|
|
@ -4020,20 +4020,22 @@ See more B<ssh> tricks on https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Proxies
|
||||||
=head1 EXAMPLE: Parallelizing rsync
|
=head1 EXAMPLE: Parallelizing rsync
|
||||||
|
|
||||||
B<rsync> is a great tool, but sometimes it will not fill up the
|
B<rsync> is a great tool, but sometimes it will not fill up the
|
||||||
available bandwidth. This is often a problem when copying several big
|
available bandwidth. Running multiple B<rsync> in parallel can fix
|
||||||
files over high speed connections.
|
this.
|
||||||
|
|
||||||
The following will start one B<rsync> per big file in I<src-dir> to
|
cd src-dir
|
||||||
I<dest-dir> on the server I<fooserver>:
|
find . -type f |
|
||||||
|
parallel -j10 -X rsync -zR -Ha ./{} fooserver:/dest-dir/
|
||||||
|
|
||||||
cd src-dir; find . -type f -size +100000 | \
|
Adjust B<-j10> until you find the optimal number.
|
||||||
parallel -v ssh fooserver mkdir -p /dest-dir/{//}\; \
|
|
||||||
rsync -s -Havessh {} fooserver:/dest-dir/{}
|
|
||||||
|
|
||||||
The dirs created may end up with wrong permissions and smaller files
|
B<rsync -R> will create the needed subdirectories, so all files are
|
||||||
are not being transferred. To fix those run B<rsync> a final time:
|
not put into a single dir. The B<./> is needed so the resulting command
|
||||||
|
looks similar to:
|
||||||
|
|
||||||
rsync -Havessh src-dir/ fooserver:/dest-dir/
|
rsync -zR ././sub/dir/file fooserver:/dest-dir/
|
||||||
|
|
||||||
|
The B</./> is what B<rsync -R> works on.
|
||||||
|
|
||||||
If you are unable to push data, but need to pull them and the files
|
If you are unable to push data, but need to pull them and the files
|
||||||
are called digits.png (e.g. 000000.png) you might be able to do:
|
are called digits.png (e.g. 000000.png) you might be able to do:
|
||||||
|
@ -4489,8 +4491,8 @@ files:
|
||||||
|
|
||||||
=head1 SPREADING BLOCKS OF DATA
|
=head1 SPREADING BLOCKS OF DATA
|
||||||
|
|
||||||
B<--round-robin>, B<--pipe-part>, B<--shard>, and B<--group-by> are
|
B<--round-robin>, B<--pipe-part>, B<--shard>, B<--bin> and
|
||||||
all specialized versions of B<--pipe>.
|
B<--group-by> are all specialized versions of B<--pipe>.
|
||||||
|
|
||||||
In the following I<n> is the number of jobslots given by B<--jobs>. A
|
In the following I<n> is the number of jobslots given by B<--jobs>. A
|
||||||
record starts with B<--recstart> and ends with B<--recend>. It is
|
record starts with B<--recstart> and ends with B<--recend>. It is
|
||||||
|
@ -4518,6 +4520,11 @@ value in the given column. Based on this value the line is passed to
|
||||||
one of the I<n> jobs. All lines having this value will be given to the
|
one of the I<n> jobs. All lines having this value will be given to the
|
||||||
same jobslot.
|
same jobslot.
|
||||||
|
|
||||||
|
B<--bin> works like B<--shard> but the value of the column is the
|
||||||
|
jobslot number it will be passed to. If the value is bigger than I<n>,
|
||||||
|
then I<n> will be subtracted from the value until the values is
|
||||||
|
smaller than or equal to I<n>.
|
||||||
|
|
||||||
B<--group-by> starts one job per chunk. Record borders are not given
|
B<--group-by> starts one job per chunk. Record borders are not given
|
||||||
by B<--recend>/B<--recstart>. Instead a record is defined by a number
|
by B<--recend>/B<--recstart>. Instead a record is defined by a number
|
||||||
of lines having the same value in a given column. So the value of a
|
of lines having the same value in a given column. So the value of a
|
||||||
|
|
|
@ -765,6 +765,20 @@ par_profile() {
|
||||||
rm ~/.parallel/testprofile_config
|
rm ~/.parallel/testprofile_config
|
||||||
}
|
}
|
||||||
|
|
||||||
|
par_bin() {
|
||||||
|
echo '### Test --bin'
|
||||||
|
seq 10 | parallel --pipe --bin 1 -j4 wc | sort
|
||||||
|
paste <(seq 10) <(seq 10 -1 1) |
|
||||||
|
parallel --pipe --colsep '\t' --bin 2 -j4 wc | sort
|
||||||
|
echo '### Test --bin with expression that gives 1..n'
|
||||||
|
paste <(seq 10) <(seq 10 -1 1) |
|
||||||
|
parallel --pipe --colsep '\t' --bin '2 $_=$_%2+1' -j4 wc | sort
|
||||||
|
echo '### Test --bin with expression that gives 0..n-1'
|
||||||
|
paste <(seq 10) <(seq 10 -1 1) |
|
||||||
|
parallel --pipe --colsep '\t' --bin '2 $_%=2' -j4 wc | sort
|
||||||
|
# Fails - blocks!
|
||||||
|
# paste <(seq 10000000) <(seq 10000000 -1 1) | parallel --pipe --colsep '\t' --bin 2 wc
|
||||||
|
}
|
||||||
|
|
||||||
export -f $(compgen -A function | grep par_)
|
export -f $(compgen -A function | grep par_)
|
||||||
compgen -A function | grep par_ | LC_ALL=C sort |
|
compgen -A function | grep par_ | LC_ALL=C sort |
|
||||||
|
|
|
@ -77,7 +77,7 @@ par_testhalt() {
|
||||||
export -f testhalt_false;
|
export -f testhalt_false;
|
||||||
export -f testhalt_true;
|
export -f testhalt_true;
|
||||||
|
|
||||||
stdout parallel -kj0 --delay 0.11 --tag testhalt_{4} {1},{2}={3} \
|
stdout parallel -k --delay 0.11 --tag testhalt_{4} {1},{2}={3} \
|
||||||
::: now soon ::: fail success done ::: 0 1 2 30% 70% ::: true false |
|
::: now soon ::: fail success done ::: 0 1 2 30% 70% ::: true false |
|
||||||
# Remove lines that only show up now and then
|
# Remove lines that only show up now and then
|
||||||
perl -ne '/Starting no more jobs./ or print'
|
perl -ne '/Starting no more jobs./ or print'
|
||||||
|
|
|
@ -77,4 +77,5 @@ par_command_len_shellquote() {
|
||||||
|
|
||||||
export -f $(compgen -A function | grep par_)
|
export -f $(compgen -A function | grep par_)
|
||||||
compgen -A function | grep par_ | sort -r |
|
compgen -A function | grep par_ | sort -r |
|
||||||
parallel --joblog /tmp/jl-`basename $0` -j3 --tag -k --delay 0.1 --retries 3 '{} 2>&1'
|
# 2019-07-14 100% slowed down 4 threads/16GB
|
||||||
|
parallel -j75% --joblog /tmp/jl-`basename $0` -j3 --tag -k --delay 0.1 --retries 3 '{} 2>&1'
|
||||||
|
|
|
@ -3307,7 +3307,8 @@ export -f $(compgen -A function | grep par_)
|
||||||
#compgen -A function | grep par_ | sort |
|
#compgen -A function | grep par_ | sort |
|
||||||
compgen -A function | grep par_ | LC_ALL=C sort -r |
|
compgen -A function | grep par_ | LC_ALL=C sort -r |
|
||||||
# parallel --joblog /tmp/jl-`basename $0` --delay $D -j$P --tag -k '{} 2>&1'
|
# parallel --joblog /tmp/jl-`basename $0` --delay $D -j$P --tag -k '{} 2>&1'
|
||||||
parallel --joblog /tmp/jl-`basename $0` -j200% --retries 2 --tag -k '{} 2>&1' |
|
# 2019-07-14 200% too high for 16 GB/4 thread
|
||||||
|
parallel --joblog /tmp/jl-`basename $0` -j75% --retries 2 --tag -k '{} 2>&1' |
|
||||||
perl -pe 's/line \d?\d\d:/line XXX:/g;
|
perl -pe 's/line \d?\d\d:/line XXX:/g;
|
||||||
s/\d+ >= \d+/XXX >= XXX/;
|
s/\d+ >= \d+/XXX >= XXX/;
|
||||||
s/sh:? \d?\d\d:/sh: XXX:/;
|
s/sh:? \d?\d\d:/sh: XXX:/;
|
||||||
|
|
|
@ -44,6 +44,25 @@ par_basic_halt true
|
||||||
par_basic_halt parallel: Error: --halt must have 'never', 'soon', or 'now'.
|
par_basic_halt parallel: Error: --halt must have 'never', 'soon', or 'now'.
|
||||||
par_basic_halt parallel: Error: --halt soon must be followed by ,success or ,fail.
|
par_basic_halt parallel: Error: --halt soon must be followed by ,success or ,fail.
|
||||||
par_basic_halt parallel: Error: --halt now must be followed by ,success or ,fail.
|
par_basic_halt parallel: Error: --halt now must be followed by ,success or ,fail.
|
||||||
|
par_bin ### Test --bin
|
||||||
|
par_bin 2 2 4
|
||||||
|
par_bin 2 2 4
|
||||||
|
par_bin 3 3 6
|
||||||
|
par_bin 3 3 7
|
||||||
|
par_bin 2 4 8
|
||||||
|
par_bin 2 4 8
|
||||||
|
par_bin 3 6 13
|
||||||
|
par_bin 3 6 13
|
||||||
|
par_bin ### Test --bin with expression that gives 1..n
|
||||||
|
par_bin 0 0 0
|
||||||
|
par_bin 0 0 0
|
||||||
|
par_bin 5 10 21
|
||||||
|
par_bin 5 10 21
|
||||||
|
par_bin ### Test --bin with expression that gives 0..n-1
|
||||||
|
par_bin 0 0 0
|
||||||
|
par_bin 0 0 0
|
||||||
|
par_bin 5 10 21
|
||||||
|
par_bin 5 10 21
|
||||||
par_blocking_redir 0 0 0
|
par_blocking_redir 0 0 0
|
||||||
par_blocking_redir 0 0 0
|
par_blocking_redir 0 0 0
|
||||||
par_blocking_redir 1 9 54
|
par_blocking_redir 1 9 54
|
||||||
|
@ -850,7 +869,7 @@ par_tee_too_many_args 1 11
|
||||||
par_tee_too_many_args 2 2
|
par_tee_too_many_args 2 2
|
||||||
par_tee_too_many_args 3 3
|
par_tee_too_many_args 3 3
|
||||||
par_tee_too_many_args 4 4
|
par_tee_too_many_args 4 4
|
||||||
par_tee_too_many_args parallel: Error: --tee requres --jobs to be higher. Try --jobs 0.
|
par_tee_too_many_args parallel: Error: --tee requires --jobs to be higher. Try --jobs 0.
|
||||||
par_test_L_context_replace ### Test -N context replace
|
par_test_L_context_replace ### Test -N context replace
|
||||||
par_test_L_context_replace a1b a2b a3b a4b a5b a6b a7b a8b a9b a10b
|
par_test_L_context_replace a1b a2b a3b a4b a5b a6b a7b a8b a9b a10b
|
||||||
par_test_L_context_replace a11b a12b a13b a14b a15b a16b a17b a18b a19b
|
par_test_L_context_replace a11b a12b a13b a14b a15b a16b a17b a18b a19b
|
||||||
|
|
|
@ -702,45 +702,45 @@ par_semaphore job3b 6
|
||||||
par_semaphore done
|
par_semaphore done
|
||||||
par_shellquote ### Test --shellquote in all shells
|
par_shellquote ### Test --shellquote in all shells
|
||||||
par_shellquote ash '
|
par_shellquote ash '
|
||||||
par_shellquote ash
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote ash
par_shellquote ash !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote bash '
|
par_shellquote bash '
|
||||||
par_shellquote bash
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote bash
par_shellquote bash !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote csh \\\\\\\\ "\
|
par_shellquote csh \\\\\\\\ "\
|
||||||
par_shellquote csh "\\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€乗俓僜刓匼哱嘰圽塡奬媆孿峔嶾廫怽慭抃揬擻昞朶梊榎橽歕沑淺漒瀄焅燶<E78485><E787B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>╘‐猏玕琝璡甛痋癨盶瞈砛碶礬禱穃竆筡篭籠糪絓綷縗繺羂耚肻腬臷芢荺萛蒤蔦薥蘚蚛蝄蟎衆裓襖覾診誠謀譢豛賊赲踈躙輁轡運郳醆鈂鉢鋅錦鎈鏫鑌閈闬隲靄韁頫颸餦馶騖骪鬨鮘鯸鱘鳿鵟鶿鸤黒齖㘎<E9BD96>
|
par_shellquote csh "\\\
par_shellquote csh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€乗俓僜刓匼哱嘰圽塡奬媆孿峔嶾廫怽慭抃揬擻昞朶梊榎橽歕沑淺漒瀄焅燶<E78485><E787B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>╘‐猏玕琝璡甛痋癨盶瞈砛碶礬禱穃竆筡篭籠糪絓綷縗繺羂耚肻腬臷芢荺萛蒤蔦薥蘚蚛蝄蟎衆裓襖覾診誠謀譢豛賊赲踈躙輁轡運郳醆鈂鉢鋅錦鎈鏫鑌閈闬隲靄韁頫颸餦馶騖骪鬨鮘鯸鱘鳿鵟鶿鸤黒齖㘎<E9BD96>
|
||||||
par_shellquote dash '
|
par_shellquote dash '
|
||||||
par_shellquote dash
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote dash
par_shellquote dash !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote fish '
|
par_shellquote fish '
|
||||||
par_shellquote fish
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote fish
par_shellquote fish !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote fizsh '
|
par_shellquote fizsh '
|
||||||
par_shellquote fizsh
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote fizsh
par_shellquote fizsh !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote ksh '
|
par_shellquote ksh '
|
||||||
par_shellquote ksh
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote ksh
par_shellquote ksh !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote ksh93 '
|
par_shellquote ksh93 '
|
||||||
par_shellquote ksh93
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote ksh93
par_shellquote ksh93 !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote lksh '
|
par_shellquote lksh '
|
||||||
par_shellquote lksh
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote lksh
par_shellquote lksh !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote mksh '
|
par_shellquote mksh '
|
||||||
par_shellquote mksh
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote mksh
par_shellquote mksh !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote posh '
|
par_shellquote posh '
|
||||||
par_shellquote posh
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote posh
par_shellquote posh !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote rzsh '
|
par_shellquote rzsh '
|
||||||
par_shellquote rzsh
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote rzsh
par_shellquote rzsh !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote sash '
|
par_shellquote sash '
|
||||||
par_shellquote sash
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote sash
par_shellquote sash !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote sh '
|
par_shellquote sh '
|
||||||
par_shellquote sh
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote sh
par_shellquote sh !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote static-sh '
|
par_shellquote static-sh '
|
||||||
par_shellquote static-sh
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote static-sh
par_shellquote static-sh !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote tcsh \\\\\\\\ "\
|
par_shellquote tcsh \\\\\\\\ "\
|
||||||
par_shellquote tcsh "\\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€乗俓僜刓匼哱嘰圽塡奬媆孿峔嶾廫怽慭抃揬擻昞朶梊榎橽歕沑淺漒瀄焅燶<E78485><E787B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>╘‐猏玕琝璡甛痋癨盶瞈砛碶礬禱穃竆筡篭籠糪絓綷縗繺羂耚肻腬臷芢荺萛蒤蔦薥蘚蚛蝄蟎衆裓襖覾診誠謀譢豛賊赲踈躙輁轡運郳醆鈂鉢鋅錦鎈鏫鑌閈闬隲靄韁頫颸餦馶騖骪鬨鮘鯸鱘鳿鵟鶿鸤黒齖㘎<E9BD96>
|
par_shellquote tcsh "\\\
par_shellquote tcsh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€乗俓僜刓匼哱嘰圽塡奬媆孿峔嶾廫怽慭抃揬擻昞朶梊榎橽歕沑淺漒瀄焅燶<E78485><E787B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>╘‐猏玕琝璡甛痋癨盶瞈砛碶礬禱穃竆筡篭籠糪絓綷縗繺羂耚肻腬臷芢荺萛蒤蔦薥蘚蚛蝄蟎衆裓襖覾診誠謀譢豛賊赲踈躙輁轡運郳醆鈂鉢鋅錦鎈鏫鑌閈闬隲靄韁頫颸餦馶騖骪鬨鮘鯸鱘鳿鵟鶿鸤黒齖㘎<E9BD96>
|
||||||
par_shellquote yash '
|
par_shellquote yash '
|
||||||
par_shellquote yash
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote yash
par_shellquote yash !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote zsh '
|
par_shellquote zsh '
|
||||||
par_shellquote zsh
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
par_shellquote zsh
par_shellquote zsh !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>'
|
||||||
par_shellquote csh \\\\\\\\ "\
|
par_shellquote csh \\\\\\\\ "\
|
||||||
par_shellquote csh "\\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€乗俓僜刓匼哱嘰圽塡奬媆孿峔嶾廫怽慭抃揬擻昞朶梊榎橽歕沑淺漒瀄焅燶<E78485><E787B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>╘‐猏玕琝璡甛痋癨盶瞈砛碶礬禱穃竆筡篭籠糪絓綷縗繺羂耚肻腬臷芢荺萛蒤蔦薥蘚蚛蝄蟎衆裓襖覾診誠謀譢豛賊赲踈躙輁轡運郳醆鈂鉢鋅錦鎈鏫鑌閈闬隲靄韁頫颸餦馶騖骪鬨鮘鯸鱘鳿鵟鶿鸤黒齖㘎<E9BD96>
|
par_shellquote csh "\\\
par_shellquote csh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€乗俓僜刓匼哱嘰圽塡奬媆孿峔嶾廫怽慭抃揬擻昞朶梊榎橽歕沑淺漒瀄焅燶<E78485><E787B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>╘‐猏玕琝璡甛痋癨盶瞈砛碶礬禱穃竆筡篭籠糪絓綷縗繺羂耚肻腬臷芢荺萛蒤蔦薥蘚蚛蝄蟎衆裓襖覾診誠謀譢豛賊赲踈躙輁轡運郳醆鈂鉢鋅錦鎈鏫鑌閈闬隲靄韁頫颸餦馶騖骪鬨鮘鯸鱘鳿鵟鶿鸤黒齖㘎<E9BD96>
|
||||||
par_shellquote tcsh \\\\\\\\ "\
|
par_shellquote tcsh \\\\\\\\ "\
|
||||||
par_shellquote tcsh "\\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€乗俓僜刓匼哱嘰圽塡奬媆孿峔嶾廫怽慭抃揬擻昞朶梊榎橽歕沑淺漒瀄焅燶<E78485><E787B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>╘‐猏玕琝璡甛痋癨盶瞈砛碶礬禱穃竆筡篭籠糪絓綷縗繺羂耚肻腬臷芢荺萛蒤蔦薥蘚蚛蝄蟎衆裓襖覾診誠謀譢豛賊赲踈躙輁轡運郳醆鈂鉢鋅錦鎈鏫鑌閈闬隲靄韁頫颸餦馶騖骪鬨鮘鯸鱘鳿鵟鶿鸤黒齖㘎<E9BD96>
|
par_shellquote tcsh "\\\
par_shellquote tcsh \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€乗俓僜刓匼哱嘰圽塡奬媆孿峔嶾廫怽慭抃揬擻昞朶梊榎橽歕沑淺漒瀄焅燶<E78485><E787B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>╘‐猏玕琝璡甛痋癨盶瞈砛碶礬禱穃竆筡篭籠糪絓綷縗繺羂耚肻腬臷芢荺萛蒤蔦薥蘚蚛蝄蟎衆裓襖覾診誠謀譢豛賊赲踈躙輁轡運郳醆鈂鉢鋅錦鎈鏫鑌閈闬隲靄韁頫颸餦馶騖骪鬨鮘鯸鱘鳿鵟鶿鸤黒齖㘎<E9BD96>
|
||||||
par_sockets_cores_threads ### Test --number-of-sockets/cores/threads
|
par_sockets_cores_threads ### Test --number-of-sockets/cores/threads
|
||||||
par_sockets_cores_threads 1
|
par_sockets_cores_threads 1
|
||||||
par_sockets_cores_threads 2
|
par_sockets_cores_threads 2
|
||||||
|
|
|
@ -1342,8 +1342,10 @@ par_shard 9 8
|
||||||
par_shard 9 9
|
par_shard 9 9
|
||||||
par_shard 2 c2
|
par_shard 2 c2
|
||||||
par_shard *** broken
|
par_shard *** broken
|
||||||
par_shard parallel: Error: --tee requres --jobs to be higher. Try --jobs 0.
|
par_shard parallel: Error: --shard requires --jobs to be higher than the number of
|
||||||
par_shard parallel: Error: --tee requres --jobs to be higher. Try --jobs 0.
|
par_shard parallel: Error: arguments. Increase --jobs.
|
||||||
|
par_shard parallel: Error: --shard requires --jobs to be higher than the number of
|
||||||
|
par_shard parallel: Error: arguments. Increase --jobs.
|
||||||
par_slow_args_generation ### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834
|
par_slow_args_generation ### Test slow arguments generation - https://savannah.gnu.org/bugs/?32834
|
||||||
par_slow_args_generation 1
|
par_slow_args_generation 1
|
||||||
par_slow_args_generation 2
|
par_slow_args_generation 2
|
||||||
|
|
|
@ -127,12 +127,12 @@ par_zsh_man exit value 2 should be 2
|
||||||
par_zsh_man Unknown option: no-such-option
|
par_zsh_man Unknown option: no-such-option
|
||||||
par_zsh_man exit value 255 should be 255
|
par_zsh_man exit value 255 should be 255
|
||||||
par_zsh_funky
|
par_zsh_funky
|
||||||
par_zsh_funky
C-] !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>M-<1D>嵗╯丰成帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘M-]睧颬睼麧緗鴇膹擨闀貘覷鏷禴矙𡜍𦶠<F0A19C8D>-funky
|
par_zsh_funky
par_zsh_funky C-] !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>M-<1D>嵗╯丰成帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘M-]睧颬睼麧緗鴇膹擨闀貘覷鏷禴矙𡜍𦶠<F0A19C8D>-funky
|
||||||
par_zsh_funky
C-] !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>M-<1D>嵗╯丰成帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘M-]睧颬睼麧緗鴇膹擨闀貘覷鏷禴矙𡜍𦶠<F0A19C8D>-funky
|
par_zsh_funky
par_zsh_funky C-] !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>M-<1D>嵗╯丰成帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘M-]睧颬睼麧緗鴇膹擨闀貘覷鏷禴矙𡜍𦶠<F0A19C8D>-funky
|
||||||
par_zsh_funky space 6
|
par_zsh_funky space 6
|
||||||
par_zsh_funky space 6
|
par_zsh_funky space 6
|
||||||
par_zsh_funky ' '
|
par_zsh_funky ' '
|
||||||
par_zsh_funky '
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它貝物洎悖停眾斯須號獄播噶擱藏霰匸<E99CB0>帊昅恘倳眑婭笫崷窙嗲睧颬睼麧緗鴇膹擨闀貘覷鏷禴矙𡜍𦶠<F0A19C8D>'
|
par_zsh_funky '
par_zsh_funky !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它貝物洎悖停眾斯須號獄播噶擱藏霰匸<E99CB0>帊昅恘倳眑婭笫崷窙嗲睧颬睼麧緗鴇膹擨闀貘覷鏷禴矙𡜍𦶠<F0A19C8D>'
|
||||||
par_zsh_funky 3 arg alias_works
|
par_zsh_funky 3 arg alias_works
|
||||||
par_zsh_funky 3 arg alias_works_over_ssh
|
par_zsh_funky 3 arg alias_works_over_ssh
|
||||||
par_zsh_funky Funky-
|
par_zsh_funky Funky-
|
||||||
|
@ -359,108 +359,108 @@ par_zsh_env_parallel bug #52534: Tail of multiline alias is ignored
|
||||||
par_zsh_env_parallel data from stdin
|
par_zsh_env_parallel data from stdin
|
||||||
par_zsh_env_parallel data from stdin
|
par_zsh_env_parallel data from stdin
|
||||||
par_tcsh_underscore ### tcsh
|
par_tcsh_underscore ### tcsh
|
||||||
par_tcsh_underscore ### Testing of --env _
|
par_tcsh_underscore ### Testing of --env _
par_tcsh_underscore
|
||||||
par_tcsh_underscore #: Command not found.
|
par_tcsh_underscore #: Command not found.
par_tcsh_underscore
|
||||||
par_tcsh_underscore variables and arrays in aliases work
|
par_tcsh_underscore variables and arrays in aliases work
par_tcsh_underscore
|
||||||
par_tcsh_underscore variables and arrays in aliases work
|
par_tcsh_underscore variables and arrays in aliases work
par_tcsh_underscore
|
||||||
par_tcsh_underscore variables and arrays in aliases work
|
par_tcsh_underscore variables and arrays in aliases work
par_tcsh_underscore
|
||||||
par_tcsh_underscore variables and arrays in aliases work
|
par_tcsh_underscore variables and arrays in aliases work
par_tcsh_underscore
|
||||||
par_tcsh_underscore variables and arrays in aliases work
|
par_tcsh_underscore variables and arrays in aliases work
par_tcsh_underscore
|
||||||
par_tcsh_underscore variables and arrays in aliases work
|
par_tcsh_underscore variables and arrays in aliases work
par_tcsh_underscore
|
||||||
par_tcsh_underscore myvar: Undefined variable.
|
par_tcsh_underscore myvar: Undefined variable.
par_tcsh_underscore
|
||||||
par_tcsh_underscore myvar: Undefined variable.
|
par_tcsh_underscore myvar: Undefined variable.
par_tcsh_underscore
|
||||||
par_tcsh_underscore myarray: Undefined variable.
|
par_tcsh_underscore myarray: Undefined variable.
par_tcsh_underscore
|
||||||
par_tcsh_underscore myarray: Undefined variable.
|
par_tcsh_underscore myarray: Undefined variable.
par_tcsh_underscore
|
||||||
par_tcsh_underscore myecho: Command not found.
|
par_tcsh_underscore myecho: Command not found.
par_tcsh_underscore
|
||||||
par_tcsh_underscore OK ^^^^^^^^^^^^^^^^^ if no myecho
|
par_tcsh_underscore OK ^^^^^^^^^^^^^^^^^ if no myecho
par_tcsh_underscore
|
||||||
par_tcsh_underscore myecho: Command not found.
|
par_tcsh_underscore myecho: Command not found.
par_tcsh_underscore
|
||||||
par_tcsh_underscore OK ^^^^^^^^^^^^^^^^^ if no myecho
|
par_tcsh_underscore OK ^^^^^^^^^^^^^^^^^ if no myecho
par_tcsh_underscore
|
||||||
par_tcsh_underscore Connection to lo closed.
|
par_tcsh_underscore Connection to lo closed.
par_tcsh_underscore
|
||||||
par_tcsh_parset Not implemented
|
par_tcsh_parset Not implemented
|
||||||
par_tcsh_man ### tcsh
|
par_tcsh_man ### tcsh
|
||||||
par_tcsh_man ### From man env_parallel
|
par_tcsh_man ### From man env_parallel
par_tcsh_man
|
||||||
par_tcsh_man #: Command not found.
|
par_tcsh_man #: Command not found.
par_tcsh_man
|
||||||
par_tcsh_man aliases with = & " work
|
par_tcsh_man aliases with = & " work
par_tcsh_man
|
||||||
par_tcsh_man aliases with = & " work
|
par_tcsh_man aliases with = & " work
par_tcsh_man
|
||||||
par_tcsh_man aliases with = & " work
|
par_tcsh_man aliases with = & " work
par_tcsh_man
|
||||||
par_tcsh_man aliases with = & " work
|
par_tcsh_man aliases with = & " work
par_tcsh_man
|
||||||
par_tcsh_man Functions not supported
|
par_tcsh_man Functions not supported
par_tcsh_man
|
||||||
par_tcsh_man #: Command not found.
|
par_tcsh_man #: Command not found.
par_tcsh_man
|
||||||
par_tcsh_man #: Command not found.
|
par_tcsh_man #: Command not found.
par_tcsh_man
|
||||||
par_tcsh_man variables with = & " work
|
par_tcsh_man variables with = & " work
par_tcsh_man
|
||||||
par_tcsh_man variables with = & " work
|
par_tcsh_man variables with = & " work
par_tcsh_man
|
||||||
par_tcsh_man variables with = & " work
|
par_tcsh_man variables with = & " work
par_tcsh_man
|
||||||
par_tcsh_man variables with = & " work
|
par_tcsh_man variables with = & " work
par_tcsh_man
|
||||||
par_tcsh_man #: Command not found.
|
par_tcsh_man #: Command not found.
par_tcsh_man
|
||||||
par_tcsh_man arrays
|
par_tcsh_man arrays
par_tcsh_man
|
||||||
par_tcsh_man with=&"'
|
par_tcsh_man with=&"'
par_tcsh_man
|
||||||
par_tcsh_man work,
|
par_tcsh_man work,
par_tcsh_man
|
||||||
par_tcsh_man too
|
par_tcsh_man too
par_tcsh_man
|
||||||
par_tcsh_man arrays
|
par_tcsh_man arrays
par_tcsh_man
|
||||||
par_tcsh_man with=&"'
|
par_tcsh_man with=&"'
par_tcsh_man
|
||||||
par_tcsh_man work,
|
par_tcsh_man work,
par_tcsh_man
|
||||||
par_tcsh_man too
|
par_tcsh_man too
par_tcsh_man
|
||||||
par_tcsh_man arrays
|
par_tcsh_man arrays
par_tcsh_man
|
||||||
par_tcsh_man with=&"'
|
par_tcsh_man with=&"'
par_tcsh_man
|
||||||
par_tcsh_man work,
|
par_tcsh_man work,
par_tcsh_man
|
||||||
par_tcsh_man too
|
par_tcsh_man too
par_tcsh_man
|
||||||
par_tcsh_man arrays
|
par_tcsh_man arrays
par_tcsh_man
|
||||||
par_tcsh_man with=&"'
|
par_tcsh_man with=&"'
par_tcsh_man
|
||||||
par_tcsh_man work,
|
par_tcsh_man work,
par_tcsh_man
|
||||||
par_tcsh_man too
|
par_tcsh_man too
par_tcsh_man
|
||||||
par_tcsh_man Segmentation faults? Are you running bsd-csh version 20110502-3?
|
par_tcsh_man Segmentation faults? Are you running bsd-csh version 20110502-3?
par_tcsh_man
|
||||||
par_tcsh_man multi
|
par_tcsh_man multi
par_tcsh_man
|
||||||
par_tcsh_man level
|
par_tcsh_man level
par_tcsh_man
|
||||||
par_tcsh_man env_parallel
|
par_tcsh_man env_parallel
par_tcsh_man
|
||||||
par_tcsh_man exit value 2 should be 2
|
par_tcsh_man exit value 2 should be 2
par_tcsh_man
|
||||||
par_tcsh_man Unknown option: no-such-option
|
par_tcsh_man Unknown option: no-such-option
par_tcsh_man
|
||||||
par_tcsh_man Usage:
|
par_tcsh_man Usage:
par_tcsh_man
|
||||||
par_tcsh_man
|
par_tcsh_man
par_tcsh_man
|
||||||
par_tcsh_man parallel [options] [command [arguments]] < list_of_arguments
|
par_tcsh_man parallel [options] [command [arguments]] < list_of_arguments
par_tcsh_man
|
||||||
par_tcsh_man parallel [options] [command [arguments]] (::: arguments|:::: argfile(s))...
|
par_tcsh_man parallel [options] [command [arguments]] (::: arguments|:::: argfile(s))...
par_tcsh_man
|
||||||
par_tcsh_man cat ... | parallel --pipe [options] [command [arguments]]
|
par_tcsh_man cat ... | parallel --pipe [options] [command [arguments]]
par_tcsh_man
|
||||||
par_tcsh_man
|
par_tcsh_man
par_tcsh_man
|
||||||
par_tcsh_man -j n Run n jobs in parallel
|
par_tcsh_man -j n Run n jobs in parallel
par_tcsh_man
|
||||||
par_tcsh_man -k Keep same order
|
par_tcsh_man -k Keep same order
par_tcsh_man
|
||||||
par_tcsh_man -X Multiple arguments with context replace
|
par_tcsh_man -X Multiple arguments with context replace
par_tcsh_man
|
||||||
par_tcsh_man --colsep regexp Split input on regexp for positional replacements
|
par_tcsh_man --colsep regexp Split input on regexp for positional replacements
par_tcsh_man
|
||||||
par_tcsh_man {} {.} {/} {/.} {#} {%} {= perl code =} Replacement strings
|
par_tcsh_man {} {.} {/} {/.} {#} {%} {= perl code =} Replacement strings
par_tcsh_man
|
||||||
par_tcsh_man {3} {3.} {3/} {3/.} {=3 perl code =} Positional replacement strings
|
par_tcsh_man {3} {3.} {3/} {3/.} {=3 perl code =} Positional replacement strings
par_tcsh_man
|
||||||
par_tcsh_man With --plus: {} = {+/}/{/} = {.}.{+.} = {+/}/{/.}.{+.} = {..}.{+..} =
|
par_tcsh_man With --plus: {} = {+/}/{/} = {.}.{+.} = {+/}/{/.}.{+.} = {..}.{+..} =
par_tcsh_man
|
||||||
par_tcsh_man {+/}/{/..}.{+..} = {...}.{+...} = {+/}/{/...}.{+...}
|
par_tcsh_man {+/}/{/..}.{+..} = {...}.{+...} = {+/}/{/...}.{+...}
par_tcsh_man
|
||||||
par_tcsh_man
|
par_tcsh_man
par_tcsh_man
|
||||||
par_tcsh_man -S sshlogin Example: foo@server.example.com
|
par_tcsh_man -S sshlogin Example: foo@server.example.com
par_tcsh_man
|
||||||
par_tcsh_man --slf .. Use ~/.parallel/sshloginfile as the list of sshlogins
|
par_tcsh_man --slf .. Use ~/.parallel/sshloginfile as the list of sshlogins
par_tcsh_man
|
||||||
par_tcsh_man --trc {}.bar Shorthand for --transfer --return {}.bar --cleanup
|
par_tcsh_man --trc {}.bar Shorthand for --transfer --return {}.bar --cleanup
par_tcsh_man
|
||||||
par_tcsh_man --onall Run the given command with argument on all sshlogins
|
par_tcsh_man --onall Run the given command with argument on all sshlogins
par_tcsh_man
|
||||||
par_tcsh_man --nonall Run the given command with no arguments on all sshlogins
|
par_tcsh_man --nonall Run the given command with no arguments on all sshlogins
par_tcsh_man
|
||||||
par_tcsh_man
|
par_tcsh_man
par_tcsh_man
|
||||||
par_tcsh_man --pipe Split stdin (standard input) to multiple jobs.
|
par_tcsh_man --pipe Split stdin (standard input) to multiple jobs.
par_tcsh_man
|
||||||
par_tcsh_man --recend str Record end separator for --pipe.
|
par_tcsh_man --recend str Record end separator for --pipe.
par_tcsh_man
|
||||||
par_tcsh_man --recstart str Record start separator for --pipe.
|
par_tcsh_man --recstart str Record start separator for --pipe.
par_tcsh_man
|
||||||
par_tcsh_man
|
par_tcsh_man
par_tcsh_man
|
||||||
par_tcsh_man See 'man parallel' for details
|
par_tcsh_man See 'man parallel' for details
par_tcsh_man
|
||||||
par_tcsh_man
|
par_tcsh_man
par_tcsh_man
|
||||||
par_tcsh_man Academic tradition requires you to cite works you base your article on.
|
par_tcsh_man Academic tradition requires you to cite works you base your article on.
par_tcsh_man
|
||||||
par_tcsh_man If you use programs that use GNU Parallel to process data for an article in a
|
par_tcsh_man If you use programs that use GNU Parallel to process data for an article in a
par_tcsh_man
|
||||||
par_tcsh_man scientific publication, please cite:
|
par_tcsh_man scientific publication, please cite:
par_tcsh_man
|
||||||
par_tcsh_man
|
par_tcsh_man
par_tcsh_man
|
||||||
par_tcsh_man O. Tange (2018): GNU Parallel 2018, Mar 2018, ISBN 9781387509881,
|
par_tcsh_man O. Tange (2018): GNU Parallel 2018, Mar 2018, ISBN 9781387509881,
par_tcsh_man
|
||||||
par_tcsh_man DOI https://doi.org/10.5281/zenodo.1146014
|
par_tcsh_man DOI https://doi.org/10.5281/zenodo.1146014
par_tcsh_man
|
||||||
par_tcsh_man
|
par_tcsh_man
par_tcsh_man
|
||||||
par_tcsh_man This helps funding further development; AND IT WON'T COST YOU A CENT.
|
par_tcsh_man This helps funding further development; AND IT WON'T COST YOU A CENT.
par_tcsh_man
|
||||||
par_tcsh_man If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
par_tcsh_man If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
par_tcsh_man
|
||||||
par_tcsh_man
|
par_tcsh_man
par_tcsh_man
|
||||||
par_tcsh_man exit value 255 should be 255
|
par_tcsh_man exit value 255 should be 255
par_tcsh_man
|
||||||
par_tcsh_man Connection to lo closed.
|
par_tcsh_man Connection to lo closed.
par_tcsh_man
|
||||||
par_tcsh_funky
|
par_tcsh_funky
|
||||||
par_tcsh_funky
|
par_tcsh_funky
|
||||||
par_tcsh_funky
|
par_tcsh_funky
|
||||||
par_tcsh_funky 3 arg alias_works
|
par_tcsh_funky 3 arg alias_works
|
||||||
par_tcsh_funky 3 arg alias_works_over_ssh
|
par_tcsh_funky 3 arg alias_works_over_ssh
|
||||||
par_tcsh_funky Funky-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky alias_var_works
|
par_tcsh_funky Funky-
par_tcsh_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky alias_var_works
|
||||||
par_tcsh_funky Funky-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky alias_var_works_over_ssh
|
par_tcsh_funky Funky-
par_tcsh_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky alias_var_works_over_ssh
|
||||||
par_tcsh_funky \\\\\\\\ \ \\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䪤Ě声蹾胬𨜏㙡笋蕚𪀔髢𦰡脪𠗫𦖭䓀珢娫糭䨵鞸㘘𩄼疱髿癧﹏兝α么功吒吭沔坼歿俞枯苒娉珮豹崤淚許廄琵跚愧稞鈾暝蓋墦穀閱璞餐縷擺黠孀髏躡ふж尐佢汻岤狖垥柦胐娖涂罡偅惝牾莍傜揊焮茻鄃幋滜綅赨塿槙箤踊嫹潿蔌醆嬞獦螏餤燡螰駹礒鎪瀙酀瀵騱酅贕鱋鱭𣘀园𧃸檝𠰺<E6AA9D>
|
par_tcsh_funky \\\\\\\\ \ \\\
par_tcsh_funky \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䪤Ě声蹾胬𨜏㙡笋蕚𪀔髢𦰡脪𠗫𦖭䓀珢娫糭䨵鞸㘘𩄼疱髿癧﹏兝α么功吒吭沔坼歿俞枯苒娉珮豹崤淚許廄琵跚愧稞鈾暝蓋墦穀閱璞餐縷擺黠孀髏躡ふж尐佢汻岤狖垥柦胐娖涂罡偅惝牾莍傜揊焮茻鄃幋滜綅赨塿槙箤踊嫹潿蔌醆嬞獦螏餤燡螰駹礒鎪瀙酀瀵騱酅贕鱋鱭𣘀园𧃸檝𠰺<E6AA9D>
|
||||||
par_tcsh_funky func_echo: Command not found.
|
par_tcsh_funky func_echo: Command not found.
|
||||||
par_tcsh_funky func_echo: Command not found.
|
par_tcsh_funky func_echo: Command not found.
|
||||||
par_tcsh_funky myvar works
|
par_tcsh_funky myvar works
|
||||||
|
@ -568,7 +568,7 @@ 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
|
||||||
par_sh_funky
|
par_sh_funky
|
||||||
par_sh_funky ' '
|
par_sh_funky ' '
|
||||||
par_sh_funky '
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
par_sh_funky '
par_sh_funky !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
||||||
par_sh_funky 3 arg alias_works
|
par_sh_funky 3 arg alias_works
|
||||||
par_sh_funky 3 arg alias_works_over_ssh
|
par_sh_funky 3 arg alias_works_over_ssh
|
||||||
par_sh_environment_too_big bug #50815: env_parallel should warn if the environment is too big
|
par_sh_environment_too_big bug #50815: env_parallel should warn if the environment is too big
|
||||||
|
@ -862,12 +862,12 @@ par_mksh_man exit value 2 should be 2
|
||||||
par_mksh_man Unknown option: no-such-option
|
par_mksh_man Unknown option: no-such-option
|
||||||
par_mksh_man exit value 255 should be 255
|
par_mksh_man exit value 255 should be 255
|
||||||
par_mksh_funky
|
par_mksh_funky
|
||||||
par_mksh_funky
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
|
par_mksh_funky
par_mksh_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
|
||||||
par_mksh_funky
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
|
par_mksh_funky
par_mksh_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
|
||||||
par_mksh_funky space 6
|
par_mksh_funky space 6
|
||||||
par_mksh_funky space 6
|
par_mksh_funky space 6
|
||||||
par_mksh_funky ' '
|
par_mksh_funky ' '
|
||||||
par_mksh_funky '
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
par_mksh_funky '
par_mksh_funky !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
||||||
par_mksh_funky 3 arg alias_works
|
par_mksh_funky 3 arg alias_works
|
||||||
par_mksh_funky 3 arg alias_works_over_ssh
|
par_mksh_funky 3 arg alias_works_over_ssh
|
||||||
par_mksh_funky Funky-
|
par_mksh_funky Funky-
|
||||||
|
@ -1203,12 +1203,12 @@ 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
|
||||||
par_ksh_funky
|
par_ksh_funky
|
||||||
par_ksh_funky
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
|
par_ksh_funky
par_ksh_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
|
||||||
par_ksh_funky
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
|
par_ksh_funky
par_ksh_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
|
||||||
par_ksh_funky space 6
|
par_ksh_funky space 6
|
||||||
par_ksh_funky space 6
|
par_ksh_funky space 6
|
||||||
par_ksh_funky ' '
|
par_ksh_funky ' '
|
||||||
par_ksh_funky '
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
par_ksh_funky '
par_ksh_funky !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
||||||
par_ksh_funky 3 arg alias_works
|
par_ksh_funky 3 arg alias_works
|
||||||
par_ksh_funky 3 arg alias_works_over_ssh
|
par_ksh_funky 3 arg alias_works_over_ssh
|
||||||
par_ksh_funky Funky-
|
par_ksh_funky Funky-
|
||||||
|
@ -1517,8 +1517,8 @@ par_fish_funky space 6
|
||||||
par_fish_funky
|
par_fish_funky
|
||||||
par_fish_funky
|
par_fish_funky
|
||||||
par_fish_funky
|
par_fish_funky
|
||||||
par_fish_funky Funky-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
|
par_fish_funky Funky-
par_fish_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
|
||||||
par_fish_funky Funkyenv-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funkyenv
|
par_fish_funky Funkyenv-
par_fish_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funkyenv
|
||||||
par_fish_funky
|
par_fish_funky
|
||||||
par_fish_funky
|
par_fish_funky
|
||||||
par_fish_funky
|
par_fish_funky
|
||||||
|
@ -1532,13 +1532,13 @@ par_fish_funky space 6
|
||||||
par_fish_funky
|
par_fish_funky
|
||||||
par_fish_funky
|
par_fish_funky
|
||||||
par_fish_funky
|
par_fish_funky
|
||||||
par_fish_funky Funky-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
|
par_fish_funky Funky-
par_fish_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funky
|
||||||
par_fish_funky Funkyenv-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funkyenv
|
par_fish_funky Funkyenv-
par_fish_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funkyenv
|
||||||
par_fish_funky
|
par_fish_funky
|
||||||
par_fish_funky
|
par_fish_funky
|
||||||
par_fish_funky
|
par_fish_funky
|
||||||
par_fish_funky
|
par_fish_funky
|
||||||
par_fish_funky '
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
par_fish_funky '
par_fish_funky !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
||||||
par_fish_environment_too_big Not implemented
|
par_fish_environment_too_big Not implemented
|
||||||
par_fish_env_parallel_session ### Test env_parallel --session
|
par_fish_env_parallel_session ### Test env_parallel --session
|
||||||
par_fish_env_parallel_session fish: Unknown command 'aliasbefore must_fail'
|
par_fish_env_parallel_session fish: Unknown command 'aliasbefore must_fail'
|
||||||
|
@ -1653,7 +1653,7 @@ 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
|
||||||
par_dash_funky
|
par_dash_funky
|
||||||
par_dash_funky ' '
|
par_dash_funky ' '
|
||||||
par_dash_funky '
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
par_dash_funky '
par_dash_funky !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
||||||
par_dash_funky 3 arg alias_works
|
par_dash_funky 3 arg alias_works
|
||||||
par_dash_funky 3 arg alias_works_over_ssh
|
par_dash_funky 3 arg alias_works_over_ssh
|
||||||
par_dash_environment_too_big bug #50815: env_parallel should warn if the environment is too big
|
par_dash_environment_too_big bug #50815: env_parallel should warn if the environment is too big
|
||||||
|
@ -1810,23 +1810,23 @@ 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_dash_env_parallel data from stdin
|
par_dash_env_parallel data from stdin
|
||||||
par_csh_underscore ### csh
|
par_csh_underscore ### csh
|
||||||
par_csh_underscore ### Testing of --env _
|
par_csh_underscore ### Testing of --env _
par_csh_underscore
|
||||||
par_csh_underscore #: Command not found.
|
par_csh_underscore #: Command not found.
par_csh_underscore
|
||||||
par_csh_underscore variables and arrays in aliases work
|
par_csh_underscore variables and arrays in aliases work
par_csh_underscore
|
||||||
par_csh_underscore variables and arrays in aliases work
|
par_csh_underscore variables and arrays in aliases work
par_csh_underscore
|
||||||
par_csh_underscore variables and arrays in aliases work
|
par_csh_underscore variables and arrays in aliases work
par_csh_underscore
|
||||||
par_csh_underscore variables and arrays in aliases work
|
par_csh_underscore variables and arrays in aliases work
par_csh_underscore
|
||||||
par_csh_underscore variables and arrays in aliases work
|
par_csh_underscore variables and arrays in aliases work
par_csh_underscore
|
||||||
par_csh_underscore variables and arrays in aliases work
|
par_csh_underscore variables and arrays in aliases work
par_csh_underscore
|
||||||
par_csh_underscore myvar: Undefined variable.
|
par_csh_underscore myvar: Undefined variable.
par_csh_underscore
|
||||||
par_csh_underscore myvar: Undefined variable.
|
par_csh_underscore myvar: Undefined variable.
par_csh_underscore
|
||||||
par_csh_underscore myarray: Undefined variable.
|
par_csh_underscore myarray: Undefined variable.
par_csh_underscore
|
||||||
par_csh_underscore myarray: Undefined variable.
|
par_csh_underscore myarray: Undefined variable.
par_csh_underscore
|
||||||
par_csh_underscore myecho: Command not found.
|
par_csh_underscore myecho: Command not found.
par_csh_underscore
|
||||||
par_csh_underscore OK ^^^^^^^^^^^^^^^^^ if no myecho
|
par_csh_underscore OK ^^^^^^^^^^^^^^^^^ if no myecho
par_csh_underscore
|
||||||
par_csh_underscore myecho: Command not found.
|
par_csh_underscore myecho: Command not found.
par_csh_underscore
|
||||||
par_csh_underscore OK ^^^^^^^^^^^^^^^^^ if no myecho
|
par_csh_underscore OK ^^^^^^^^^^^^^^^^^ if no myecho
par_csh_underscore
|
||||||
par_csh_underscore Connection to lo closed.
|
par_csh_underscore Connection to lo closed.
par_csh_underscore
|
||||||
par_csh_parset Not implemented
|
par_csh_parset Not implemented
|
||||||
par_csh_man ### csh
|
par_csh_man ### csh
|
||||||
par_csh_man
|
par_csh_man
|
||||||
|
@ -1901,16 +1901,16 @@ par_csh_funky 3 arg alias_works
|
||||||
par_csh_funky
|
par_csh_funky
|
||||||
par_csh_funky myvar works
|
par_csh_funky myvar works
|
||||||
par_csh_funky space special chars problem
|
par_csh_funky space special chars problem
|
||||||
par_csh_funky Funky-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>癒<EFBFBD>瞽<EFBFBD>瞿<EFBFBD>瞻<EFBFBD>瞼<EFBFBD>礎<EFBFBD>禮<EFBFBD>穡<EFBFBD>穢<EFBFBD>穠<EFBFBD>竄<EFBFBD>竅<EFBFBD>簫<EFBFBD>簧<EFBFBD>簪<EFBFBD>簞<EFBFBD>簣<EFBFBD>簡<EFBFBD>糧<EFBFBD>織<EFBFBD>繕<EFBFBD>繞<EFBFBD>繚<EFBFBD>繡<EFBFBD>繒<EFBFBD>繙<EFBFBD>罈<EFBFBD>翹<EFBFBD>翻<EFBFBD>職<EFBFBD>聶<EFBFBD><E881B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>癒<EFBFBD>瞽<EFBFBD>瞿<EFBFBD>瞻<EFBFBD>瞼<EFBFBD>礎<EFBFBD>禮<EFBFBD>穡<EFBFBD>穢<EFBFBD>穠<EFBFBD>竄<EFBFBD>竅<EFBFBD>簫<EFBFBD>簧<EFBFBD>簪<EFBFBD>簞<EFBFBD>簣<EFBFBD>簡<EFBFBD>糧<EFBFBD>織<EFBFBD>繕<EFBFBD>繞<EFBFBD>繚<EFBFBD>繡<EFBFBD>繒<EFBFBD>繙<EFBFBD>罈<EFBFBD>翹<EFBFBD>翻<EFBFBD>職<EFBFBD>聶-funky alias_var_works
|
par_csh_funky Funky-
par_csh_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>癒<EFBFBD>瞽<EFBFBD>瞿<EFBFBD>瞻<EFBFBD>瞼<EFBFBD>礎<EFBFBD>禮<EFBFBD>穡<EFBFBD>穢<EFBFBD>穠<EFBFBD>竄<EFBFBD>竅<EFBFBD>簫<EFBFBD>簧<EFBFBD>簪<EFBFBD>簞<EFBFBD>簣<EFBFBD>簡<EFBFBD>糧<EFBFBD>織<EFBFBD>繕<EFBFBD>繞<EFBFBD>繚<EFBFBD>繡<EFBFBD>繒<EFBFBD>繙<EFBFBD>罈<EFBFBD>翹<EFBFBD>翻<EFBFBD>職<EFBFBD>聶<EFBFBD><E881B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>癒<EFBFBD>瞽<EFBFBD>瞿<EFBFBD>瞻<EFBFBD>瞼<EFBFBD>礎<EFBFBD>禮<EFBFBD>穡<EFBFBD>穢<EFBFBD>穠<EFBFBD>竄<EFBFBD>竅<EFBFBD>簫<EFBFBD>簧<EFBFBD>簪<EFBFBD>簞<EFBFBD>簣<EFBFBD>簡<EFBFBD>糧<EFBFBD>織<EFBFBD>繕<EFBFBD>繞<EFBFBD>繚<EFBFBD>繡<EFBFBD>繒<EFBFBD>繙<EFBFBD>罈<EFBFBD>翹<EFBFBD>翻<EFBFBD>職<EFBFBD>聶-funky alias_var_works
|
||||||
par_csh_funky func_echo: Command not found.
|
par_csh_funky func_echo: Command not found.
|
||||||
par_csh_funky 3 arg alias_works_over_ssh
|
par_csh_funky 3 arg alias_works_over_ssh
|
||||||
par_csh_funky
|
par_csh_funky
|
||||||
par_csh_funky myvar works
|
par_csh_funky myvar works
|
||||||
par_csh_funky space special chars problem
|
par_csh_funky space special chars problem
|
||||||
par_csh_funky Funky-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>癒<EFBFBD>瞽<EFBFBD>瞿<EFBFBD>瞻<EFBFBD>瞼<EFBFBD>礎<EFBFBD>禮<EFBFBD>穡<EFBFBD>穢<EFBFBD>穠<EFBFBD>竄<EFBFBD>竅<EFBFBD>簫<EFBFBD>簧<EFBFBD>簪<EFBFBD>簞<EFBFBD>簣<EFBFBD>簡<EFBFBD>糧<EFBFBD>織<EFBFBD>繕<EFBFBD>繞<EFBFBD>繚<EFBFBD>繡<EFBFBD>繒<EFBFBD>繙<EFBFBD>罈<EFBFBD>翹<EFBFBD>翻<EFBFBD>職<EFBFBD>聶<EFBFBD><E881B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>癒<EFBFBD>瞽<EFBFBD>瞿<EFBFBD>瞻<EFBFBD>瞼<EFBFBD>礎<EFBFBD>禮<EFBFBD>穡<EFBFBD>穢<EFBFBD>穠<EFBFBD>竄<EFBFBD>竅<EFBFBD>簫<EFBFBD>簧<EFBFBD>簪<EFBFBD>簞<EFBFBD>簣<EFBFBD>簡<EFBFBD>糧<EFBFBD>織<EFBFBD>繕<EFBFBD>繞<EFBFBD>繚<EFBFBD>繡<EFBFBD>繒<EFBFBD>繙<EFBFBD>罈<EFBFBD>翹<EFBFBD>翻<EFBFBD>職<EFBFBD>聶-funky alias_var_works_over_ssh
|
par_csh_funky Funky-
par_csh_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>癒<EFBFBD>瞽<EFBFBD>瞿<EFBFBD>瞻<EFBFBD>瞼<EFBFBD>礎<EFBFBD>禮<EFBFBD>穡<EFBFBD>穢<EFBFBD>穠<EFBFBD>竄<EFBFBD>竅<EFBFBD>簫<EFBFBD>簧<EFBFBD>簪<EFBFBD>簞<EFBFBD>簣<EFBFBD>簡<EFBFBD>糧<EFBFBD>織<EFBFBD>繕<EFBFBD>繞<EFBFBD>繚<EFBFBD>繡<EFBFBD>繒<EFBFBD>繙<EFBFBD>罈<EFBFBD>翹<EFBFBD>翻<EFBFBD>職<EFBFBD>聶<EFBFBD><E881B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>癒<EFBFBD>瞽<EFBFBD>瞿<EFBFBD>瞻<EFBFBD>瞼<EFBFBD>礎<EFBFBD>禮<EFBFBD>穡<EFBFBD>穢<EFBFBD>穠<EFBFBD>竄<EFBFBD>竅<EFBFBD>簫<EFBFBD>簧<EFBFBD>簪<EFBFBD>簞<EFBFBD>簣<EFBFBD>簡<EFBFBD>糧<EFBFBD>織<EFBFBD>繕<EFBFBD>繞<EFBFBD>繚<EFBFBD>繡<EFBFBD>繒<EFBFBD>繙<EFBFBD>罈<EFBFBD>翹<EFBFBD>翻<EFBFBD>職<EFBFBD>聶-funky alias_var_works_over_ssh
|
||||||
par_csh_funky func_echo: Command not found.
|
par_csh_funky func_echo: Command not found.
|
||||||
par_csh_funky
|
par_csh_funky
|
||||||
par_csh_funky \\\\\\\\ \ \\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~\<5C>\<5C>\擺<>擺<EFBFBD>擺<EFBFBD>擺<EFBFBD>擺<EFBFBD>擺䪤擺Ě擺声擺蹾擺胬擺𨜏擺㙡擺笋擺蕚擺𪀔擺髢擺𦰡擺脪擺𠗫擺𦖭擺䓀擺珢擺娫擺糭擺䨵擺鞸擺㘘擺𩄼擺疱擺髿擺癧擺﹏擺兝擺α擺么擺功擺吒擺吭擺沔擺坼擺歿擺俞擺枯擺苒擺娉擺珮擺豹擺崤擺淚擺許擺廄擺琵擺跚擺愧擺稞擺鈾擺暝擺蓋擺墦擺穀擺閱擺璞<E693BA>\<5C>\黠<>黠<EFBFBD>黠<EFBFBD>黠<EFBFBD>黠<EFBFBD>黠䪤黠Ě黠声黠蹾黠胬黠𨜏黠㙡黠笋黠蕚黠𪀔黠髢黠𦰡黠脪黠𠗫黠𦖭黠䓀黠珢黠娫黠糭黠䨵黠鞸黠㘘黠𩄼黠疱黠髿黠癧黠﹏黠兝黠α黠么黠功黠吒黠吭黠沔黠坼黠歿黠俞黠枯黠苒黠娉黠珮黠豹黠崤黠淚黠許黠廄黠琵黠跚黠愧黠稞黠鈾黠暝黠蓋黠墦黠穀黠閱黠<E996B1>
|
par_csh_funky \\\\\\\\ \ \\\
par_csh_funky \\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~\<5C>\<5C>\擺<>擺<EFBFBD>擺<EFBFBD>擺<EFBFBD>擺<EFBFBD>擺䪤擺Ě擺声擺蹾擺胬擺𨜏擺㙡擺笋擺蕚擺𪀔擺髢擺𦰡擺脪擺𠗫擺𦖭擺䓀擺珢擺娫擺糭擺䨵擺鞸擺㘘擺𩄼擺疱擺髿擺癧擺﹏擺兝擺α擺么擺功擺吒擺吭擺沔擺坼擺歿擺俞擺枯擺苒擺娉擺珮擺豹擺崤擺淚擺許擺廄擺琵擺跚擺愧擺稞擺鈾擺暝擺蓋擺墦擺穀擺閱擺璞<E693BA>\<5C>\黠<>黠<EFBFBD>黠<EFBFBD>黠<EFBFBD>黠<EFBFBD>黠䪤黠Ě黠声黠蹾黠胬黠𨜏黠㙡黠笋黠蕚黠𪀔黠髢黠𦰡黠脪黠𠗫黠𦖭黠䓀黠珢黠娫黠糭黠䨵黠鞸黠㘘黠𩄼黠疱黠髿黠癧黠﹏黠兝黠α黠么黠功黠吒黠吭黠沔黠坼黠歿黠俞黠枯黠苒黠娉黠珮黠豹黠崤黠淚黠許黠廄黠琵黠跚黠愧黠稞黠鈾黠暝黠蓋黠墦黠穀黠閱黠<E996B1>
|
||||||
par_csh_environment_too_big Not implemented
|
par_csh_environment_too_big Not implemented
|
||||||
par_csh_env_parallel_session Not implemented
|
par_csh_env_parallel_session Not implemented
|
||||||
par_csh_env_parallel bug #50435: Remote fifo broke in 20150522
|
par_csh_env_parallel bug #50435: Remote fifo broke in 20150522
|
||||||
|
@ -2064,11 +2064,11 @@ par_bash_funky space 6
|
||||||
par_bash_funky space 6
|
par_bash_funky space 6
|
||||||
par_bash_funky ' '
|
par_bash_funky ' '
|
||||||
par_bash_funky ''
|
par_bash_funky ''
|
||||||
par_bash_funky '
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
par_bash_funky '
par_bash_funky !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
||||||
par_bash_funky 3 arg alias_works
|
par_bash_funky 3 arg alias_works
|
||||||
par_bash_funky 3 arg alias_works_over_ssh
|
par_bash_funky 3 arg alias_works_over_ssh
|
||||||
par_bash_funky Funkyline-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funkyline
|
par_bash_funky Funkyline-
par_bash_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funkyline
|
||||||
par_bash_funky Funkyline-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funkyline
|
par_bash_funky Funkyline-
par_bash_funky !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>-funkyline
|
||||||
par_bash_funky Funkymultiline-
|
par_bash_funky Funkymultiline-
|
||||||
par_bash_funky Funkymultiline-
|
par_bash_funky Funkymultiline-
|
||||||
par_bash_funky assoc_val_a
|
par_bash_funky assoc_val_a
|
||||||
|
@ -2349,7 +2349,7 @@ 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
|
||||||
par_ash_funky
|
par_ash_funky
|
||||||
par_ash_funky ' '
|
par_ash_funky ' '
|
||||||
par_ash_funky '
!"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
par_ash_funky '
par_ash_funky !"#$%&'"'"'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>﹜ㄓ它夾帚型陋秣捲陷絮溢劃遞蝨螃謝藥齪ヌ圴佮迓玿旂衲欶趹欹詘棰葮摵蜠樉賥濋錎膼瀔嚦黀蘜蠲╭帉爎<E5B889>'
|
||||||
par_ash_funky 3 arg alias_works
|
par_ash_funky 3 arg alias_works
|
||||||
par_ash_funky 3 arg alias_works_over_ssh
|
par_ash_funky 3 arg alias_works_over_ssh
|
||||||
par_ash_environment_too_big bug #50815: env_parallel should warn if the environment is too big
|
par_ash_environment_too_big bug #50815: env_parallel should warn if the environment is too big
|
||||||
|
|
Loading…
Reference in a new issue