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) حقوق زیر به هیچ وجه تحت تأثیر این مجوز قرار نمی‌گیرند: • حقوق معامله منصفانه یا استفاده منصفانه شما، یا سایر استثناها و محدودیت‌های قابل اعمال در حق نشر؛ • حقوق معنوی نویسنده؛ • حقوقی که سایر اشخاص ممکن است در خود اثر یا در نحوه استفاده از اثر داشته باشند، مانند حقوق تبلیغات یا حریم خصوصی. اعلامیه برای هرگونه استفاده مجدد یا توزیع، باید شرایط مجوز این اثر را برای دیگران شفاف سازید. یک نسخه از متن کامل مجوز در فایل 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)