ENV_PARALLEL(1) parallel ENV_PARALLEL(1) (NAME) env_parallel - (SYNOPSIS) env_parallel [--record-env|--session|--end-session] [ GNU Parallel] (DESCRIPTION) env_parallel GNU parallel (export) . . env_parallel GNU parallel ( ). ( ) . . --session --record-env . # "" ( ) env_parallel --record-env # ~/.parallel/ignored_vars ( ) # myfunc() { myalias and functions $myvar work. $1.; } alias myalias='echo Aliases' myvar='and variables' # --env _ "" env_parallel --env _ -S localhost myfunc ::: Hooray : # --record-env $PARALLEL_IGNORED_NAMES env_parallel --session # myfunc() { myalias and functions $myvar work. $1.; } alias myalias='echo Aliases' myvar='and variables' # env_parallel $PARALLEL_IGNORED_NAMES env_parallel -S localhost myfunc ::: Hooray # env_parallel --end-session csh --session : # "" - env_parallel --record-env # ~/.parallel/ignored_vars - # alias myalias 'echo Aliases $myvar \!*.' set myvar='and variables' # --env _ "" env_parallel --env _ -S localhost myalias ::: work (Environment space) env_parallel (alias) ( ). . Bash 'set | wc -c' env_parallel . execve(1) IPC::open3 . Bash ( Bash completion) env_parallel . --env . . (OPTIONS) GNU parallel : --end-session --session --record-env env_parallel . --session . . parallel --session . parallel --end-session . --session : env_parallel --session var=not # var env_parallel -Slocalhost 'echo var is $var' ::: ignored env_parallel --session # var env_parallel -Slocalhost 'echo var is $var' ::: ignored env_parallel --end-session # var env_parallel -Slocalhost 'echo var is $var' ::: ignored (SUPPORTED SHELLS) Ash (Installation) $HOME/.profile : . env_parallel.ash : echo '. env_parallel.ash' >> $HOME/.profile (Supported use) --env . --env . --session . (aliases) alias myecho='echo aliases' env_parallel myecho ::: work env_parallel -S server myecho ::: work env_parallel --env myecho myecho ::: work env_parallel --env myecho -S server myecho ::: work alias multiline='echo multiline echo aliases' env_parallel multiline ::: work env_parallel -S server multiline ::: work env_parallel --env multiline multiline ::: work env_parallel --env multiline -S server multiline ::: work (functions) ash - . (variables) myvar=variables env_parallel echo '$myvar' ::: work env_parallel -S server echo '$myvar' ::: work env_parallel --env myvar echo '$myvar' ::: work env_parallel --env myvar -S server echo '$myvar' ::: work (arrays) Ash . Bash (Installation) $HOME/.bashrc : . env_parallel.bash : echo '. env_parallel.bash' >> $HOME/.bashrc (Supported use) --env . --env . --session . (aliases) alias myecho='echo aliases' env_parallel myecho ::: work env_parallel -S server myecho ::: work env_parallel --env myecho myecho ::: work env_parallel --env myecho -S server myecho ::: work alias multiline='echo multiline echo aliases' env_parallel 'multiline {}; echo but only when followed by a newline' ::: work env_parallel -S server 'multiline {}; echo but only when followed by a newline' ::: work env_parallel --env multiline 'multiline {}; echo but only when followed by a newline' ::: work env_parallel --env multiline -S server 'multiline {}; echo but only when followed by a newline' ::: work (functions) myfunc() { echo functions $*; } env_parallel myfunc ::: work env_parallel -S server myfunc ::: work env_parallel --env myfunc myfunc ::: work env_parallel --env myfunc -S server myfunc ::: work (variables) myvar=variables env_parallel echo '$myvar' ::: work env_parallel -S server echo '$myvar' ::: work env_parallel --env myvar echo '$myvar' ::: work env_parallel --env myvar -S server echo '$myvar' ::: work (arrays) myarray=(arrays work, too) env_parallel -k echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k -S server echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k --env myarray echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k --env myarray -S server \ echo '${myarray[{}]}' ::: 0 1 2 (BUGS) Bash (newline) . . csh env_parallel csh $PARALLEL $PARALLEL . (Installation) $HOME/.cshrc : source `which env_parallel.csh` : echo 'source `which env_parallel.csh`' >> $HOME/.cshrc (Supported use) --env . --env . (aliases) alias myecho 'echo aliases' env_parallel myecho ::: work env_parallel -S server myecho ::: work env_parallel --env myecho myecho ::: work env_parallel --env myecho -S server myecho ::: work (functions) csh . (variables) set myvar=variables env_parallel echo '$myvar' ::: work env_parallel -S server echo '$myvar' ::: work env_parallel --env myvar echo '$myvar' ::: work env_parallel --env myvar -S server echo '$myvar' ::: work (arrays with no special chars) set myarray=(arrays work, too) env_parallel -k echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k -S server echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k --env myarray echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k --env myarray -S server \ echo \$'{myarray[{}]}' ::: 1 2 3 Dash (Installation) $HOME/.profile : . env_parallel.dash : echo '. env_parallel.dash' >> $HOME/.profile (Supported use) --env . --env . --session . (aliases) alias myecho='echo aliases' env_parallel myecho ::: work env_parallel -S server myecho ::: work env_parallel --env myecho myecho ::: work env_parallel --env myecho -S server myecho ::: work alias multiline='echo multiline echo aliases' env_parallel multiline ::: work env_parallel -S server multiline ::: work env_parallel --env multiline multiline ::: work env_parallel --env multiline -S server multiline ::: work (functions) dash - . (variables) myvar=variables env_parallel echo '$myvar' ::: work env_parallel -S server echo '$myvar' ::: work env_parallel --env myvar echo '$myvar' ::: work env_parallel --env myvar -S server echo '$myvar' ::: work (arrays) dash . fish (Installation) $HOME/.config/fish/config.fish : source (which env_parallel.fish) : echo 'source (which env_parallel.fish)' \ >> $HOME/.config/fish/config.fish (Supported use) --env . --env . --session . (aliases) alias myecho 'echo aliases' env_parallel myecho ::: work env_parallel -S server myecho ::: work env_parallel --env myecho myecho ::: work env_parallel --env myecho -S server myecho ::: work (functions) function myfunc echo functions $argv end env_parallel myfunc ::: work env_parallel -S server myfunc ::: work env_parallel --env myfunc myfunc ::: work env_parallel --env myfunc -S server myfunc ::: work (variables) set myvar variables env_parallel echo '$myvar' ::: work env_parallel -S server echo '$myvar' ::: work env_parallel --env myvar echo '$myvar' ::: work env_parallel --env myvar -S server echo '$myvar' ::: work (arrays) . set myarray arrays work, too env_parallel -k echo '$myarray[{}]' ::: 1 2 3 env_parallel -k -S server echo '$myarray[{}]' ::: 1 2 3 env_parallel -k --env myarray echo '$myarray[{}]' ::: 1 2 3 env_parallel -k --env myarray -S server \ echo '$myarray[{}]' ::: 1 2 3 ksh (Installation) $HOME/.kshrc : source env_parallel.ksh : echo 'source env_parallel.ksh' >> $HOME/.kshrc (Supported use) --env . --env . --session . (aliases) alias myecho='echo aliases' env_parallel myecho ::: work env_parallel -S server myecho ::: work env_parallel --env myecho myecho ::: work env_parallel --env myecho -S server myecho ::: work alias multiline='echo multiline echo aliases' env_parallel multiline ::: work env_parallel -S server multiline ::: work env_parallel --env multiline multiline ::: work env_parallel --env multiline -S server multiline ::: work (functions) myfunc() { echo functions $*; } env_parallel myfunc ::: work env_parallel -S server myfunc ::: work env_parallel --env myfunc myfunc ::: work env_parallel --env myfunc -S server myfunc ::: work (variables) myvar=variables env_parallel echo '$myvar' ::: work env_parallel -S server echo '$myvar' ::: work env_parallel --env myvar echo '$myvar' ::: work env_parallel --env myvar -S server echo '$myvar' ::: work (arrays) myarray=(arrays work, too) env_parallel -k echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k -S server echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k --env myarray echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k --env myarray -S server \ echo '${myarray[{}]}' ::: 0 1 2 mksh (Installation) $HOME/.mkshrc : source env_parallel.mksh : echo 'source env_parallel.mksh' >> $HOME/.mkshrc (Supported use) --env . --env . --session . (aliases) alias myecho='echo aliases' env_parallel myecho ::: work env_parallel -S server myecho ::: work env_parallel --env myecho myecho ::: work env_parallel --env myecho -S server myecho ::: work alias multiline='echo multiline echo aliases' env_parallel multiline ::: work env_parallel -S server multiline ::: work env_parallel --env multiline multiline ::: work env_parallel --env multiline -S server multiline ::: work (functions) myfunc() { echo functions $*; } env_parallel myfunc ::: work env_parallel -S server myfunc ::: work env_parallel --env myfunc myfunc ::: work env_parallel --env myfunc -S server myfunc ::: work (variables) myvar=variables env_parallel echo '$myvar' ::: work env_parallel -S server echo '$myvar' ::: work env_parallel --env myvar echo '$myvar' ::: work env_parallel --env myvar -S server echo '$myvar' ::: work (arrays) myarray=(arrays work, too) env_parallel -k echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k -S server echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k --env myarray echo '${myarray[{}]}' ::: 0 1 2 env_parallel -k --env myarray -S server \ echo '${myarray[{}]}' ::: 0 1 2 pdksh (Installation) $HOME/.profile : source env_parallel.pdksh : echo 'source env_parallel.pdksh' >> $HOME/.profile (Supported use) --env . --env . --session . (aliases) alias myecho="echo aliases"; env_parallel myecho ::: work; env_parallel -S server myecho ::: work; env_parallel --env myecho myecho ::: work; env_parallel --env myecho -S server myecho ::: work (functions) myfunc() { echo functions $*; }; env_parallel myfunc ::: work; env_parallel -S server myfunc ::: work; env_parallel --env myfunc myfunc ::: work; env_parallel --env myfunc -S server myfunc ::: work (variables) myvar=variables; env_parallel echo "\$myvar" ::: work; env_parallel -S server echo "\$myvar" ::: work; env_parallel --env myvar echo "\$myvar" ::: work; env_parallel --env myvar -S server echo "\$myvar" ::: work (arrays) myarray=(arrays work, too); env_parallel -k echo "\${myarray[{}]}" ::: 0 1 2; env_parallel -k -S server echo "\${myarray[{}]}" ::: 0 1 2; env_parallel -k --env myarray echo "\${myarray[{}]}" ::: 0 1 2; env_parallel -k --env myarray -S server \ echo "\${myarray[{}]}" ::: 0 1 2 sh (Installation) $HOME/.profile : . env_parallel.sh : echo '. env_parallel.sh' >> $HOME/.profile (Supported use) --env . --env . --session . (aliases) sh . (functions) myfunc() { echo functions $*; } env_parallel myfunc ::: work env_parallel -S server myfunc ::: work env_parallel --env myfunc myfunc ::: work env_parallel --env myfunc -S server myfunc ::: work (variables) myvar=variables env_parallel echo '$myvar' ::: work env_parallel -S server echo '$myvar' ::: work env_parallel --env myvar echo '$myvar' ::: work env_parallel --env myvar -S server echo '$myvar' ::: work (arrays) sh . tcsh env_parallel tcsh $PARALLEL $PARALLEL . (Installation) $HOME/.tcshrc : source `which env_parallel.tcsh` : echo 'source `which env_parallel.tcsh`' >> $HOME/.tcshrc (Supported use) --env . --env . (aliases) alias myecho 'echo aliases' env_parallel myecho ::: work env_parallel -S server myecho ::: work env_parallel --env myecho myecho ::: work env_parallel --env myecho -S server myecho ::: work (functions) tcsh . (variables) set myvar=variables env_parallel echo '$myvar' ::: work env_parallel -S server echo '$myvar' ::: work env_parallel --env myvar echo '$myvar' ::: work env_parallel --env myvar -S server echo '$myvar' ::: work (arrays with no special chars) set myarray=(arrays work, too) env_parallel -k echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k -S server echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k --env myarray echo \$'{myarray[{}]}' ::: 1 2 3 env_parallel -k --env myarray -S server \ echo \$'{myarray[{}]}' ::: 1 2 3 Zsh (Installation) $HOME/.zshrc : . env_parallel.zsh : echo '. env_parallel.zsh' >> $HOME/.zshenv (Supported use) --env . --env . --session . (aliases) alias myecho='echo aliases' env_parallel myecho ::: work env_parallel -S server myecho ::: work env_parallel --env myecho myecho ::: work env_parallel --env myecho -S server myecho ::: work alias multiline='echo multiline echo aliases' env_parallel multiline ::: work env_parallel -S server multiline ::: work env_parallel --env multiline multiline ::: work env_parallel --env multiline -S server multiline ::: work (functions) myfunc() { echo functions $*; } env_parallel myfunc ::: work env_parallel -S server myfunc ::: work env_parallel --env myfunc myfunc ::: work env_parallel --env myfunc -S server myfunc ::: work (variables) myvar=variables env_parallel echo '$myvar' ::: work env_parallel -S server echo '$myvar' ::: work env_parallel --env myvar echo '$myvar' ::: work env_parallel --env myvar -S server echo '$myvar' ::: work (arrays) myarray=(arrays work, too) env_parallel -k echo '${myarray[{}]}' ::: 1 2 3 env_parallel -k -S server echo '${myarray[{}]}' ::: 1 2 3 env_parallel -k --env myarray echo '${myarray[{}]}' ::: 1 2 3 env_parallel -k --env myarray -S server \ echo '${myarray[{}]}' ::: 1 2 3 (EXIT STATUS) GNU parallel. (AUTHOR) GNU env_parallel : O. Tange (2018): GNU Parallel 2018, March 2018, ISBN 9781387509881, DOI: 10.5281/zenodo.1146014. . GNU Parallel . (C) 2007-10-18 Ole Tange, http://ole.tange.dk (C) 2008-2010 Ole Tange, http://ole.tange.dk (C) 2010-2026 Ole Tange, http://ole.tange.dk (Free Software Foundation, Inc.) (LICENSE) (GNU GPL) ( ) . . . . . (Documentation license I) / (GNU FDL) . . LICENSES/GFDL-1.3-or-later.txt . (Documentation license II) : (to Share) (to Remix) : ( ). (Share Alike) . : . (Public Domain) . (Other Rights) : o o o . . LICENCES/CC-BY-SA-4.0.txt . (DEPENDENCIES) env_parallel GNU parallel . (SEE ALSO) parallel(1), ash(1), bash(1), csh(1), dash(1), fish(1), ksh(1), pdksh(1) tcsh(1), zsh(1). 20260722 2026-07-25 ENV_PARALLEL(1)