این فهرست اعلام / واژهنامه / مرجع سریع بسیاری از سرفصلهای مهم پوشش داده شده در متن را لیست میکند. عبارتها بر حسب مرتبسازی تقریبی ASCII قرار گرفتهاند.
توجه نمایید که فرمانها در بخش 4 فهرست شدهاند.
* * *
^ (هشتک)
ابتدای سطر در یک عبارت منظم
^
^^
تبدیل به حروف بزرگ در جایگزینی پارامتر
~ مد (Tilde)
~ دایرکتوری خانه، با$HOME مطابقت میکند
~+ دایرکتوری کاری جاری
~- دایرکتوری کاری قبلی
= علامت تساوی
= عملگر تخصیص متغیر
= عملگر مقایسه رشته
== عملگر مقایسه رشته
=~ عملگر انطباق عبارت منظم
< قلاب سمت چپ
کوچکتر است از
مقایسه عدد صحیح در داخل پرانتزهای دوتایی
تغییر مسیر
< stdin
<< Here document
<<< Here string
<> باز کردن یک فایل برای هم خواندن و هم نوشتن
> قلاب سمت راست
بزرگتر است از
مقایسه عدد صحیح، در درون پرانتزهای دوتایی
تغییر مسیر
> تغییر مسیر stdout به یک فایل
>> تغییر مسیر stdout به یک فایل، اما الحاق به آن
i>&j تغییر مسیر توصیفگر فایل i به توصیفگر فایل j
>&j تغییر مسیر stdout به توصیفگر فایل
>&2 تغییر مسیر stdout یک فرمان به stderr
2>&1
&> تغییر مسیر هر دو stdout و stderr یک فرمان به یک فایل
:> file کوتاه کردن فایل به طول صفر
| لوله، وسیلهای برای عبور دادن خروجی یک فرمان به یک فرمان دیگر یا به پوسته
- (خط تیره)
پیشوند برای پارامتر پیشفرض، در جایگزینی پارامتر
مشخص کننده تغییر مسیر از stdin یا stdout
-- (خط تیره دوتایی)
; (سمیکالن)
\; سمیکالن escape شده، یک فرمان find را خاتمه میدهد
;; سمیکالن دوتایی، ختم کننده در یک گزینه case
موقعی که لازم میشود...
;;& ;& ختم کنندهها در یک گزینه case (نگارش 4+ در Bash).
: کولن
:> filename کوتاه کردن فایل به اندازه صفر
مورد استفاده در یک here document بی نام و نشان
مورد استفاده در یک تابع پوچ غیر تهی
مورد استفاده به عنوان یک نام تابع
! عملگر نفی، وضعیت خروج یک تست یا فرمان را برعکس میسازد
!= عملگر مقایسه رشته مساوی نیست با
? (علامت سوال)
در یک عملگر سهگانه C-style
// slash دوتایی، اختلال در رفتار فرمان cd
. (نقطه dot)
. بارگیری یک فایل (داخل یک اسکریپت)، معادل با فرمان source
. انطباق کاراکتر منفرد، در یک عبارت منظم
./ دایرکتوری کاری جاری
' ... ' (نقلقولهای منفرد) نقلقول قوی
" ... " (نقلقولهای دوگانه) نقلقول ضعیف
,
,
,,
تبدیل به حروف کوچک در جایگزینی پارامتر
() پرانتزها
( ... ) گروه فرمان یک پوسته فرعی راهاندازی میکند
( ... ) احاطه کننده گروه عبارتهای منظم توسعه یافته
>( ... )
<( ... ) جایگزینی فرمان
... ) خاتمه دهنده شرط تست در ساختار case
(( ... )) پرانتزهای دوتایی، در عبارت حسابی
[ براکت سمت چپ، در ساختار test
[ ]براکتها
محصور کننده مجموعه کاراکتر برای انطباق در یک عبارت منظم
[[ ... ]] براکتهای دوگانه، ساختار test توسعه یافته
$ مهار، در یک عبارت منظم
$( ... ) جایگزینی فرمان، تنظیم یک متغیر با خروجی یک فرمان، با استفاده از نشانهگذاری پرانتزها
` ... ` جایگزینی فرمان، با استفاده از نشانهگذاری نقلقولهای وارونه
$[ ... ] بسط عدد صحیح (تقبیح شده)
${ ... } دستکاری / ارزیابی متغیر
${var} مقدار متغیر
${#var} طول متغیر
${#@}
${#*} تعداد پارامترهای مکانی
${parameter?err_msg} پیغام تنظیم نبودن پارامتر
${parameter-default}
${parameter:-default}
${parameter=default}
${parameter:=default} تنظیم پارامتر پیشفرض
${parameter+alt_value}
${parameter:+alt_value}
مقدار فرعی پارامتر، اگر برقرار باشد
${!var}
ارجاع غیرمستقیم پارامتر، نشانهگذاری جدید
${!#}
آخرین پارامتر مکانی. (این یک مراجعه غیرمستقیم به $# است.)
${!varprefix*}
${!varprefix@}
انطباق نام تمام متغیرهای تعریف شده قبلی که نامشان با varprefix شروع میشود
${string:position}
${string:position:length} استخراج رشته فرعی
${var#Pattern}
${var##Pattern} جداکردن رشته فرعی
${var%Pattern}
${var%%Pattern} جداکردن رشته فرعی
${string/substring/replacement}
${string//substring/replacement}
${string/#substring/replacement}
${string/%substring/replacement} تعویض رشته فرعی
$' ... ' بسط رشته، با استفاده از کاراکترهای escape شده.
\ Escape کردن کاراکتر بعدی
\< ... \> قلابهای escapeشده، حدود کلمه در یک عبارت منظم
\{ N \} براکتهای کمانی (ابروها) escape شده، تعداد کاراکترهای تنظیم شده برای تطابق در یک عبارت منظم توسعه یافته
\$$ ارجاع غیرمستقیم یک متغیر، نشانهگذاری سبک قدیم
escape کردن یک سطر جدید، برای نوشتن یک فرمان چند سطری
&
&> تغییر مسیر هر دو stdout و stderr یک فرمان به یک فایل
>&j تغییر مسیر stdout به توصیفگر فایل j
>&2 تغییر مسیر stdout یک فرمان به stderr
i>&j تغییر مسیر توصیفگر فایل i به توصیفگر فایل j
2>&1 تغییر مسیر stderr به stdout
n<&-بستن توصیفگر فایل ورودی n
0<&-, <&- بستن stdin
n>&- بستن توصیفگر فایل خروجی n
1>&-, >&- بستن stdout
&& عملگر AND منطقی تست
Command & اجرای job در پسزمینه
# علامت Hash، نماد ویژه شروع توضیح در یک اسکریپت
#! شبانگ، رشته ویژه شروع یک اسکریپت پوسته
* ستاره
** به توان رساندن، عملگر حسابی
** عملگر انطباق فایل در globbing توسعه یافته
% علامت درصد
Modulo، باقیمانده تقسیم در عملیات حسابی
عملگر (انطباق الگو) جدا کردن رشته فرعی
+ علامت جمع
پیشوند برای پارامتر فرعی، در جایگزینی پارامتر
++ افزایش متغیر C-style، در داخل پرانتزهای دوتایی
* * *
متغیرهای پوسته
$- نشانوندهای عبور داده شده به اسکریپت, با استفاده از set
$! ID پردازش آخرین job پسزمینه
$? وضعیت خروج یک فرمان
$@ تمام پارامترهای مکانی، به صورت کلمات جداگانه
$* تمام پارامترهای مکانی، به صورت یک کلمه واحد
$$ ID پردازش اسکریپت
$# تعداد شناسههای داده شده به یک تابع، یا به خود اسکریپت
$0 نام فایل اسکریپت
$1 اولین شناسه داده شده به اسکریپت
$9 نهمین شناسه داده شده به اسکریپت
جدول متغیرهای پوسته
* * * * * *
-a AND منطقی تست مقایسه مرکب
بانک اطلاعاتی آدرس، اسکریپت مثال
Advanced Bash Scripting Guide، جایی برای دانلود
Alias مستعارها
حذف کردن یک مستعار، با استفاده از unalias
Anagramming کلمهسازی
And list لیست And
And logical operator عملگر منطقیAnd &&
Angle brackets قلابهای escape شده، \< . . . \> حدود کلمه در یک عبارت منظم
Anonymous here document -here document بینام و نشان، با استفاده از:
Archiving تهیه بایگانی
Arithmetic expansion بسط حسابی
Arithmetic operators عملگرهای حسابی
عملگرهای ترکیبی، C-style
+= -= *= /= %=
در برخی مضمونها، += میتواند به عنوان یک عملگر الحاق رشته نیز عمل نماید. |
Arrays آرایهها
کارآمدتر از آرایههای معمولی
الحاق، اسکریپت مثال
declare -a array_name
آرایههای تهی، عناصر تهی، اسکریپت مثال
array=( element1 element2 ... elementN)
به کار بردن جایگزینی فرمان
بارگیری یک فایل به داخل یک آرایه
چند بعدی، شبیهسازی
${#array_name[@]}
${#array_name[*]}
عبور دادن یک آرایه به یک تابع
به عنوان مقدار برگشتی از یک تابع
خصوصیات ویژه، اسکریپت مثال
عملیات رشتهای، اسکریپت مثال
Arrow keys, detecting تشخیص کلیدهای جهتی
ASCII
awk زبان پردازش متن مبتنی بر فیلد
rand()، تابع عدد تصادفی
استفاده از export برای عبور دادن یک متغیر به اسکریپت تعبیه شده awk
* * *
Backlight، تنظیم درخشندگی
Backquotes نقلقولهای وارونه، به کار رفته درجایگزینی فرمان
Base conversion تبدیل مبنا، اسکریپت مثال
بازبینی مبانی، اسکریپت مثال
Basic commands فرمانهای اصلی، خارجی
Batch files فایلهای دستهای، DOS
Batch processing پردازش دستهای
bc، برنامهسودمند محاسبهگر
الگو برای محاسبه یک متغیر اسکریپت
Bibliography کتابشناسی
برنامه سودمند Bison
Bitwise operators عملگرهای بیتی
Block devices دستگاههای بلوکی
Blocks of code بلوکهای کد
اسکریپت مثال: تغییر مسیر خروجی یک بلوک کد
Bootable flash drives درایوهای flash قابل بوت، ایجاد
Brace expansion بسط ابرو
توسعه یافته، {a..z}
با افزایش و صفر پُرکننده (ویژگی جدید در Bash، نگارش 4)
Brackets براکتها، [ ]
محصور کردن کاراکتر تنظیمی برای انطباق در یک عبارت منظم
Brackets, curly براکتهای کمانی، {}، به کار رفته در
break فرمان کنترل حلقه
پارامتر (اختیاری)
Builtins دستورهای داخلی در Bash
* * *
case construct ساختار case
پارامترهای خط فرمان، مدیریت
Globbing، فیلتر کردن رشتهها
cat، الحاق (concatentate) فایلها
لولهکشی خروجی از، یا به یک read
Character devices دستگاه های کاراکتری
Child processes پردازشهای فرزند
Colon کولن، : ، معادل با دستور داخلی true در Bash
Colorizing scripts اسکریپتهای افزایش رنگ
چرخه سراسری رنگهای پسزمینه، اسکریپت مثال
جدول رشتههای escape رنگ
الگو، متن رنگی روی پسزمینه رنگی
Comma operator عملگر کاما، اتصال فرمانها یا عملیات
Command-line options گزینههای خط فرمان
command_not_found_handle () تابع داخلی مدیریت خطا (نگارش 4+ از Bash)
Command substitution جایگزینی فرمان
$( ... )، نشانهگذاری ترجیحی
Comment headers سرآیندهای توضیح، خاص منظور
توضیح کردن بلوکهای کد
با استفاده از یک here document بی نام
به کار بردن یک ساختار if-then
Communications and hosts ارتباطات و میزبانها
Compound comparison operators عملگرهای مقایسه مرکب
Compression utilities برنامههای سودمند فشردهسازی
continue فرمان کنترل حلقه
Control characters کاراکترهای کنترلی
Control-C، break
Control-D، خاتمه / قطع اتصال / از بین بردن
Control-G، BEL (بیپ)
Control-H، پاک کردن
Control-J، سطر جدید
Control-M، سر سطر رفتن
Coprocesses کمک پردازشها
cron، زمانبندی daemon
C-style syntax ترکیب دستوری C-style، برای مدیریت متغیرها
Crossword puzzle solver حل کننده جدول کلمات
Cryptography رمزنگاری
Curly brackets براکتهای کمانی {}
* * *
Daemonها، در سیستمعاملهای نوع UNIX
dc، برنامه سودمند محاسبه کننده
dd، فرمان نسخه برداری از دادهها
کپی دادههای خام به/ از دستگاهها
حذف فایل، به طور امن
ضربه کلیدها، ضبط کردن
دستیابی تصادفی به جریان دادهها
Raspberry Pi، اسکریپت برای آمادهسازی یک کارت SD قابل بوت
فایلهای Swap، ارزشگذاری
Debugging scripts اشکالزدایی اسکریپتها
Decimal number عدد دسیمال، همچنانکه Bash اعداد را تفسیر میکند
declare دستور داخلی
گزینههای تعویض حالت حروف (نگارش 4+ در Bash)
Default parameters پارامترهای پیشفرض
دایرکتوری /dev
فایل دستگاه کاذب /dev/null
فایل دستگاه کاذب /dev/urandom تولید کردن اعداد شبه تصادفی
فایل دستگاه کاذب /dev/zero
Device file فایل دستگاه
dialog، برنامه سودمند تولید کردن کادرهای محاوره در یک اسکریپت
directory stack پشته دایرکتوری $DIRSTACK
Disabled commands فرمانهای غیر فعال شده در پوستههای محدود
کلیدواژه do اجرای فرمان در داخل یک حلقه را شروع می کند
کلید واژه done یک حلقه را خاتمه میدهد
DOS batch files فایلهای دستهای DOS، تبدیل به اسکریپتهای پوسته
DOS commands فرمانهای DOS، معادلهای یونیکس (جدول)
dot files فایلهای نقطهای، فایلهای «پنهان» تنظیم و پیکربندی
Double brackets براکتهای دوتایی [[ ... ]] ساختار test
Double parentheses پرانتزهای دوتایی (( ... )) ساختار بسط/ارزیابی حسابی
Double quotes نقلقولهای دوگانه " ... " نقلقول ضعیف
Double-spacing a text file فایل متن یک سطر در میان، با استفاده از sed
* * *
-e تست وجود فایل
تنظیم یک متغیر با استفاده از جایگزینی فرمان
/bin/echo، فرمان خارجی echo
رمزبندی فایلها، با استفاده از openssl
esac، کلید واژه پایان بخش ساختار case
Environmental variables متغیرهای محیطی
-eq , مساوی است با در تست مقایسه عدد صحیح
غربال Eratosthenes، الگوریتمی برای تولید اعداد صحیح
Escaped characters معانی خاص کاراکترهای escape شده
بسط رشته در داخل $' ... '
فایل /etc/fstab (سوار کردن سیستم فایل)
فایل /etc/passwd (حساب کاربری)
Effective user ID,$EUID، ID موثر کاربر
eval، ترکیب و ارزیابی عبارت(ها)، با بسط متغیر
اثرات آن، اسکریپت مثال
تحمیل ارزیابی مجدد شناسه ها
Evaluation of octal/hex constants within [[ ... ]] ارزیابی ثابتهای
فرمان exec، به کار بردن در تغییر مسیر
Exercises تمرینها
Exit and Exit status خروج و وضعیت خروج
فرمان exit
وضعیت خروج (کد خروج، وضعیت برگشتی از یک فرمان)
جدول کدهای خروج با معانی خاص
وضعیت خروج لوله
تعیین شده به واسطه یک مقدار برگشتی تابع
موفق، 0
/usr/include/sysexits.h، فایل سیستم لیست کدهای خروج استاندارد C/C++
export، برای در دسترس قرار دادن متغیرها در پردازشهای فرزند
expr، ارزیابی عبارت
Extended Regular Expressions عبارتهای منظم توسعه یافته
? (علامت سوال) انطباق صفر یا یک کاراکتر
( ... ) گروه عبارتها
\{ N \} براکتهای «کمانی»، escape شده، تعداد کاراکترهای تنظیم شده برای انطباق
* * *
factor، یک عدد صحیح را به عوامل اول آن تجزیه میکند
کاربرد: تولید اعداد اول
false، وضعیت خروج عدم موفقیت (1) برگشت میدهد
Field فیلد، گروهی از کاراکترها که یک قلم داده را در خود دارد
Files / Archiving فایلها / بایگانی
File descriptors توصیفگرهای فایل
n<&- بستن توصیفگر فایل n
0<&-، <&- بستن stdin
n>&- بستن توصیفگر فایل خروجی n
1>&-، >&- بستن stdout
مشابه با File handles در C
File encryption رمزنگاری فایل
{} براکتهای کمانی
\; سمیکالن escape شده
Filter فیلتر
Floating point numbers - Bash اعداد ممیز شناور را نمیشناسد
fold، فیلتری برای شکستن سطرهای متن
Forking انشعاب یک پردازش فرزند
for loops حلقه for
Functions توابع
مراجعه به شناسههای داده شده از طریق مکان
ضبط کردن مقدار برگشتی از یک تابع با استفاده از echo
کولن به عنوان نام تابع
تعریف باید مقدم بر اولین فراخوانی تابع باشد
و بازگشت
عبور دادن یک آرایه به یک تابع
عبور دادن اشارهگرها به یک تابع
تغییر مسیر stdin یک تابع
چندین مقدار برگشتی از یک تابع، اسکریپت مثال
برگشت دادن یک آرایه از یک تابع
محدودیتهای دامنه return، راهکارها
Shift شناسههای دادهشده به یک تابع
* * *
Games and amusements بازیها و سرگرمیها
یکبار دیگر بازی با کلمات
فرمان خارجی getopt برای تجزیه شناسههای خط فرمان اسکریپت
فرمان داخلیgetopts در Bash برای تجزیه شناسههای خط فرمان اسکریپت
Global variable متغیر سراسری
Globbing، بسط نام فایل
Golden Ratio نسبت طلایی (Phi)
-ge ، بزرگتر یا مساوی در تست مقایسه عدد صحیح
-gt , بزرگتر از در تست مقایسه عدد صحیح
groff، زبان قالببندی و علامتگذاری متن
Gronsfeld cipher رمزنگاری Gronsfeld
$GROUPS، گروههای کاربر
gzip، برنامه سودمند فشرده سازی
* * *
Hashing، تولید کلیدهای ارجاع در یک جدول
head، echo کرد سطرهای ابتدای فایل متن به stdout
فرمان داخلی help در Bash خلاصهای از نحوه کاربرد ارایه میکند
here documentهای بینام، با استفاده از:
توضیح کردن بلوکهایی از کد
اسکریپتهای خود توضیحی
تهیه ورودی برای تابع
محاسبه نسبت طلایی
بستن رشته حریم نمیتواند فرو رفته شود
گزینه Dash برای رشته حریم، <<-LimitString
خروجی متن لفظی، برای تولید کد برنامه
از کار انداختن جایگزینی پارامتر
History commands فرمانهای تاریخچه
$HOME، دایرکتوری خانه کاربر
Homework assignment solver حل کننده تکلیف منزل
$HOSTNAME، نام میزبان سیستم
* * *
$Id parameter پارامتر $Id، در rcs (سیستم کنترل نگارش)
if [ condition ]; then ... ساختار تست
$IFS، متغیر داخلی جداکننده فیلد
Integer comparison operators عملگرهای مقایسه عدد صحیح
کلید واژه in، مقدم بر [list] در یک حلقه for
Initialization table جدول مقدار دهی اولیه، /etc/inittab
Inline group گروه درون برنامه، به عنوان نمونه، بلوک کد
Interactive script بررسی برای اسکریپت محاورهای
I/O redirection تغییر مسیر I/O
Indirect referencing of variables ارجاع غیر مستقیم متغیرها
نشانهگذاری جدید، معرفی شده در نگارش 2 از Bash (اسکریپت مثال)
iptables، فیلتر کردن بسته ها و برنامه سودمند دیواره آتش
Iteration تکرار
* * *
Job IDs شماره شناسایی Job، جدول
jot، صادر کردن یک توالی از اعداد صحیح. معادل با seq.
* * *
Keywords کلید واژه ها
error، در صورت غیبت
kill، خاتمه دهنده پردازش به وسیله ID پردازش
گزینه ها (-l، -9)
killall، خاتمه دهنده یک پردازش به وسیله نام
killall script اسکریپت killall در /etc/rc.d/init.d
* * *
lastpipe گزینه lastpipe پوسته
-le ، کوچکتر یا مساوی در تست مقایسه عدد صحیح
let، تنظیم و انجام دادن عملیات حسابی روی متغیرها
افزایش و کاهش عملگرها به شیوه C
Limit string رشته حریم در یک here document
$LINENO، متغیر نشان دهنده شماره سطر جاییکه در اسکریپت ظاهر میشود
Link ایجاد پیوند فایل (با استفاده از فرمان ln)
فراخوانی اسکریپت با چند نام، با استفاده از ln
پیوندهای نمادین، ln -s
List constructs ساختارهای لیست
Local variables متغیرهای محلی
و بازگشت
Localization محلیسازی
Logical operators عملگرهای منطقی (&&، ||، و غیره)
Logout file فایل logout, فایل ~/.bash_logout
دستگاه loopback، سوار کردن یک فایل روی یک دستگاه بلوکی
Loops حلقهها
فرمان کنترل حلقه break
فرمان کنترل حلقه continue
حلقه C-style در داخل پرانتزهای دوتایی
کلید واژه do، اجرای فرمانهای داخل حلقه را شروع میکند
کلید واژه done، حلقه را خاتمه میدهد
for arg in [list]; do
جایگزینی فرمان برای تولید [list]
پارامترهای چندگانه در هر عضو [list]
از قلم انداختن [list]، پارامترهای مکانی را پیشفرض میسازد
کلید واژه in مقدم [list] در یک حلقه for
اجرای حلقه در پسزمینه، اسکریپت مثال
موقعی که do در سطر اول حلقه باشد، سمیکالن لازم است
حلقه until
until [ condition-is-true ]; do
حلقه while
while [ condition ]; do
فراخوانی تابع داخل براکتهای تست
ساختار while read
Loopback devices - دستگاههای loopback
-lt ، کوچکتر از در تست مقایسه عدد صحیح test
* * *
m4، زبان پردازش ماکرو
$MACHTYPE، نوع ماشین
Magic number، علامت زننده در ابتدای فایل که نشاندهنده نوع فایل است
Makefile، فایل شامل لیستی از وابستگیهای مورد استفاده توسط فرمان make
man، صفحه راهنما (قابل جستجو)
ویرایش کننده صفحه man (اسکریپت)
دستور داخلی mapfile، یک آرایه را با یک فایل متن بارگیری میکند
Math commands فرمانهای حساب
Meta-meaning فوق معنی
Morse code training script اسکریپت آموزش کد مورس
Modulo، عملگر حسابی باقیمانده
برنامه کاربردی: تولید اعداد اول
Mortgage calculations محاسبات ترهین، اسکریپت مثال
* * *
-n آزمایش تهی نبودن رشته
Named pipe لوله با نام، یک بافر FIFO موقت
nc، netcat، یک جعبه ابزار برای درگاههای TCP و UDP
-ne، مساوی نیست با در تست مقایسه عدد صحیح
Negation operator عملگر نفی، !، مفهوم یک test را برعکس میکند
netstat، آمار شبکه
Network programming برنامهنویسی شبکه
nl، فیلتری برای تعداد سطرهای متن
Noclobber، گزینه -C در Bash برای پیشگیری از رونویسی فایلها
NOT logical operator عملگر منطقی NOT، !
null variable assignment تخصیص متغیر تهی، اجتناب
* * *
-o OR منطقی در تست مقایسه مرکب
Obfuscation مبهمسازی
Colon به عنوان نام تابع
octal اکتال، اعداد مبنای 8
od، نسخهبرداری اکتال
$OLDPWD، دایرکتوری کاری قبلی
برنامهسودمند رمزی کردن openssl
Operator عملگر
Options گزینهها، عبور داده شده به پوسته یا اسکریپت در خط فرمان یا به وسیله فرمان set
Or list لیست Or
Or logical operator عملگر منطقی Or، ||
* * *
Parameter substitution جایگزینی پارامتر
${parameter+alt_value}
${parameter:+alt_value}
مقدار جایگزین پارامتر، اگر برقرار باشد
${parameter-default}
${parameter:-default}
${parameter=default}
${parameter:=default}
${!varprefix*}
${!varprefix@}
${parameter?err_msg}
${parameter}
تبدیل حالت حروف (نگارش 4+ در Bash).
جدول جایگزینی پارامتر
Parent / child process problem مشکل پردازش پدر / فرزند، یک پردازش فرزند نمیتواند متغیرها را به یک پردازش پدر export نماید
Parentheses پرانتزها
احاطه نمودن گروه عبارت های منظم توسعه یافته
پرانتزهای دوتایی، در بسط حسابی
$PATH، مسیر (محل باینریهای سیستم)
پیوست نمودن دایرکتوریها به $PATH با استفاده از عملگر +=.
Pathname نام مسیر، یک نام فایل که مسیر کامل یک فایل مفروض را در خود دارد.
زبان برنامه نویسی Perl
به صورت ترکیب شده با یک اسکریپت Bash در یک فایل
جاسازی شده در یک اسکریپت Bash
Perquackey-type anagramming game (اسکریپت Quackey)
Petals Around the Rose گلبرگهای گل سرخ
PID، ID پردازش، شماره شناسایی اختصاص یافته به یک پردازش در حال اجرا.
Pipe لوله، | ، وسیلهای برای عبور دادن خروجی فرمان به یک فرمان دیگر یا به پوسته
پرهیز از فرمانهای غیر ضرور در یک لوله
وضعیت خروج یک لوله
set -o pipefail، فعال کردن گزینه pipefail برای نشان دادن وضعیت خروج فرمان ناموفق داخل لوله
$PIPESTATUS، وضعیت خروج آخرین لوله اجراشده
لولهکشی خروجی یک فرمان به یک اسکریپت
تغییر مسیر دادن stdin، به جای استفاده از cat در یک لوله
Pitfalls دامها
// (slash دوتایی)، برای تغییر رفتار cd
سرآیند اسکریپت #!/bin/sh ویژگیهای توسعهیافته Bash را غیر فعال میکند
استفاده از اسکریپتها برای برنامهنویسی CGI
بستن رشته حریم در یک here document، به صورت تو گذاری شده
خرابی اسکریپت در اثر سطرهای جدید نوع DOS (\r\n)
ریسک استفاده از eval
فقدان مجوز اجرا برای فرمانهای داخل اسکریپت
وضعیت خروج غیر عادی
وضعیت خروج عبارت حسابی معادل یک کد خطا نیست
مشکل Export پردازش فرزند به پردازش پدر
ویژگیهای توسعه یافته Bash در دسترس نیست
کوتاهی از نقلقول متغیرها در داخل براکتهای test
استفاده نادرست let: اقدام به تنظیم متغیرهای رشتهای
عملگرهای مقایسه عددی و رشتهای مشابه نیستند
= و -eq قابل معاوضه نیستند
از قلم انداختن سمیکالن پایانی در یک بلوک کد داخل براکتهای کمانی
لولهکشی
echo به read (اما، این مشکل میتواند خنثی شود)
حفظ کردن فضای سفید داخل یک اسکریپت، پیامدهای ناخواسته
فرمان suid در داخل یک اسکریپت
خراب شدن اسکریپتهای قدیمیتر بابه روزرسانیهایBash
نامهای متغیر نامناسب
حوزه محدود متغیرها در یک پوسته فرعی
استفاده نامناسب از فضای سفید
Pointers اشارهگرها
Portability issues مسائل قابلیت حمل، در اسکریپتنویسی پوسته
اسکریپت یک مجموعه آزمایش (Bash در مقابل پوسته کلاسیک Bourne)
Positional parameters پارامترهای مکانی
POSIX، Portable Operating System Interface / UNIX
$PPID، ID پردازش پردازش پدر
Precedence اولویت، عملگر
Prepending درج کردن سطرها در ابتدای یک فایل، اسکریپت مثال
Prime numbers اعداد اول
تولید اعداد اول با استفاده از فرمان factor
تولید اعداد اول با استفاده از عملگر modulo (باقیمانده تقسیم)
غربال اراتوستن، اسکریپت مثال
printf، فرمان چاپ قالببندی شده
دایرکتوری /proc
فایلهای شرح پردازشهای در حال اجرا
اخطار برای نوشتن در فایلهای /proc
Process پردازشها
ID پردازش (PID)
Process substitution جایگزینی پردازش
Programmable completion تکمیل قابل برنامهریزی (بسط tab)
اعلان
Pseudo-code شبه کد، به عنوان شیوه حل مساله
$PWD، دایرکتوری کاری جاری
* * *
Quackey، یک بازی با کلمه نوع Perquackey (اسکریپت)
Question mark علامت پرسش، ?
انطباق کاراکتر در یک عبارت منظم توسعه یافته
در یک عملگر سهتایی C-style
Quoting نقلقول
استفاده از نقلقول برای حفظ کردن فضای سفید
* * *
Random numbers اعداد تصادفی
$RANDOM، تابع Bash که یک عدد صحیح شبه تصادفی برگشت میدهد
تولید اعداد تصادفی با استفاده از فرمان date
تولید اعداد تصادفی با استفاده از jot
تولید رشته تصادفی
Raspberry Pi (برد منفرد کامپیوتر)
read، تنظیم مقدار یک متغیر از stdin
گزینههای read
لولهکشی خروجی cat به read
مشکلات لولهکشی echo به read
تغییر مسیر از یک فایل به read
$REPLY، متغیر پیشفرض read
ساختار while read
کتابخانه readline
Recursion بازگشت
Redirection تغییر مسیر
exec <filename برای دوباره تخصیص دادن توصیفگرهای فایل
شرح مقدماتی از تغییر مسیر I/O
باز کردن یک فایل برای هر دو عمل خواندن و نوشتن
<>filename
فایل تغییر مسیر یافته به ورودی read
2>&1
stdin یا stdout با استفاده از -
> ... >>
>&j
توصیفگر فایل i به توصیفگر فایل j
i>&j
stdout یک فرمان به stderr
>&2
stdout و stderr یک فرمان به یک فایل
&>
Reference Cards برگههای مرجع
عملگرهای تست
Regular Expressions عبارتهای منظم
^ (هشتک) ابتدای فایل
$ (علامت دلار) مهار
. (نقطه) انطباق کاراکتر واحد
* (ستاره) هر تعداد کاراکتر
[ ] (براکتها) احاطه مجموعه کاراکتر جهت انطباق
\ (backslash) Escape تفسیر کاراکتر بعدی به طور لفظی
\< ... \> (قلابهای escape شده) مرز کلمه
عبارت منظمهای توسعه یافته
\{ \} براکتهای «کمانی» escape شده
[: :] کلاسهای کاراکتر POSIX
$REPLY، مقدار پیشفرض مرتبط با فرمان read
Restricted shell پوسته محدود، پوسته (یا اسکریپت) با فرمانهای معین از کار افتاده
return، فرمانی که یک تابع را خاتمه میدهد
اجرای اسکریپتهای متوالی بدون دخالت کاربر
* * *
Scope حوزه متغیر، تعریف
Script optionsگزینههای اسکریپت، تنظیم در خط فرمان
Scripting routines رویههای اسکریپتنویسی، کتابخانه تعریفها و توابع سودمند
Secondary prompt اعلان ثانویه $PS2
Security issues موضوعات امنیت
nmap، ترسیمگر شبکه / پویشگر درگاه
ویروسها، تروجانها، و کرمها در اسکریپتها
sed، زبان برنامهنویسی مبتنی بر الگو
select، ساختاری برای ساختن منو
Semicolon required لزوم سمیکالن، موقعی که کلید واژه do در سطر اول حلقه باشد
seq، صدور یک سری عدد صحیح. معادل با jot.
set، تعویض مقدار متغیرهای داخلی اسکریپت
set -u لغو اسکریپت با یک پیغام خطا، در صورتیکه سعی کند از یک متغیر اعلان نشده استفاده نماید.
Shell script اسکریپت پوسته، تعریف
Shell wrapper، اسکریپت جاسازی یک فرمان یا برنامه سودمند
shift، دوباره تخصیص دادن پارامترهای مکانی
$SHLVL، سطح پوسته، درجهای که پوسته (یا اسکریپت) تو در تو میشود
shopt، تغییر گزینههای پوسته
Signal, پیغام ارسال شده به یک پردازش
Simulations شبیهسازیها
Single quotes نقلقولهای منفرد (' ... ') نقلقول کردن قوی
Socket، یک گره مخابراتی مرتبط شده با یک درگاه I/O
Sorting مرتبسازی
source، وارد کردن اجرای یک اسکریپت یا استفاده کردن از یک فایل در درون یک اسکریپت
Spam, dealing with مواجهه با Spam
Special characters کاراکترهای خاص
Stack پشته
شبیهسازی یک push-down پشته، اسکریپت مثال
Standard Deviation انحراف از استاندارد، اسکریپت مثال
Startup files فایلهای راهاندازی، Bash
Stopwatch گاهشمار، اسکریپت مثال
Strings رشتهها
=~ عملگر انطباق رشته
${#string}
آزمایش برای رشته تهی
محافظت رشتهها از بسط و / یا تفسیر، اسکریپت مثال
حفاظت نکردن رشتهها، اسکریپت مثال
معادل strchr()
معادل strlen()
فرمان strings، پیدا کردن رشتههای قابل چاپ در یک فایل داده یا باینری
استخراج رشته فرعی
index رشته فرعی (مقعیت عددی در رشته)
انطباق رشته فرعی، با استفاده از expr
تعویض رشته فرعی
${string/substring/replacement}
${string//substring/replacement}
${string/#substring/replacement}
جدول عملگرهای دستکاری و بسط رشته و رشته فرعی
Strong quoting نقلقول قوی ' ... '
Stylesheet برای نوشتن اسکریپتها
Subshell پوسته فرعی
متغیرهای $BASH_SUBSHELL و $SHLVL
متغیرها در یک پوسته فرعی
حوزه محدود، اما ...
su جایگزینی کاربر، لاگین کردن به عنوان یک کاربر دیگر یا به عنوان root
suid نشانوند فایل (set user id)
فرمان های suid داخل یک اسکریپت، به صلاح نیست
Symbolic links پیوندهای نمادین
Swapfiles فایلهای Swap
* * *
Tab completion تکمیل با Tab
Table lookup جدول مراجعهای، اسکریپت مثال
tail، نمایش سطرهای انتهای (دُم) یک فایل متنی در stdout
tar، برنامه سودمند تهیه بایگانی
tee، تغییر مسیر خروجی فرمان(ها) از میان یک لوله به یک فایل
Terminals ترمینالها
فرمان test
فرمان خارجی /usr/bin/test (معادل با /usr/bin/[)
Test constructs ساختارهای test
Test operators عملگرهای test
-a and منطقی مقایسه مرکب
-e فایل موجود است
-eq مساوی است با (مقایسه عدد صحیح)
-ge بزرگتر یا مساوی (مقایسه صحیح)
-gt بزرگتر از (مقایسه عدد صحیح)
-le کوچکتر یا مساوی (مقایسه عدد صحیح)
-lt کوچکتر از (مقایسه عدد صحیح)
-n طول برابر صفر نیست (مقایسه رشتهای)
-ne مساوی نیست با (مقایسه عدد صحیح)
-o OR منطقی مقایسه مرکب
-u تست برقراری نشانوند suid فایل
-z طول برابر صفر است (مقایسه رشته)
= مساوی است با (مقایسه رشته)
== مساوی با (مقایسه رشتهای)
< کوچکتر از (مقایسه رشته
< کوچکتر از، (مقایسه عدد صحیح، در درون پرانتزهای دوتایی)
<= کوچکتر یا مساوی، (مقایسه عدد صحیح، در داخل پرانتزهای دوتایی)
> بزرگتر از (مقایسه رشتهای)
> بزرگتر از، (مقایسه عدد صحیح، در در درون پرانتزهای دوتایی)
>= بزرگتر یا مساوی، (مقایسه عدد صحیح، داخل پرانتزهای دوتایی)
|| OR منطقی
&& AND منطقی
! عملگر نفی، وضعیت خروج یک تست را برعکس میکند
!= مساوی نیست با (مقایسه رشتهای)
جدولهای عملگرهای test
Text and text file processing متن و پردازش فایل متنی
Time / Date زمان / تاریخ
Timed input ورودی زماندار
Tips and hints نکتهها و اشارهها، برای اسکریپتهای Bash
آرایه به عنوان مقدار برگشتی از یک تابع
آرایه انجمنی کارآمدتر از آرایه شاخصگذاری شده عددی
ضبط کردن مقدار برگشتی از یک تابع، با استفاده از echo
استفاده از اسکریپتها برای برنامهنویسی CGI
بلوکهای توضیح
با استفاده از here documentهای بینام
با استفاده از ساختارهای if-then
سرآیندهای توضیح، خاص منظوره
ترکیب دستوری C-style، برای دستکاری متغیرها
حذف کردن نام فایلهای پیشوند شده با یک خط تیره
فیلتر، تغذیه خروجی به همان فیلتر
کتابخانه تعریفهای سودمند و توابع
پرهیز نمودن از تخصیص متغیر تهی
عبور دادن یک آرایه به یک تابع
پیوست نمودن به $PATH، با استفاده از عملگر +=.
پیش افزایش سطرها در ابتدای یک فایل
الگوی نوار پیشرفت
تغییر مسیر یک test به /dev/null برای موقوف کردن خروجی
اجرای اسکریپتهای متوالی بدون دخالت کاربر با استفاده از run-parts
اسکریپت به عنوان فرمان جاسازی شده
قابلیت حمل اسکریپت
تنظیم متغیر پوسته برای بلوک کد sed یا awk جای داده شده
افزایش سرعت اجرای اسکریپت به وسیله از کار انداختن unicode
دستیابی در خارج پوسته فرعی به متغیر پوسته فرعی
بررسی یک متغیر برای دیدن آنکه آیا فقط شامل ارقام است
بررسی وجود یک فرمان با استفاده از type
فراخوانی Widgetها از یک اسکریپت
$TMOUT، متغیر داخلی فرصت زمانی
Token علامت مشخصه، نمادی که میتواند به یک کلیدواژه یا فرمان بسط داده شود
tput، فرمان کنترل ترمینال
tr، فیلتر ترجمه کاراکتر
Soundex، اسکریپت مثال
trap، مشخص کردن عملی برای آنکه به مجرد دریافت یک signal انجام شود
عملگر سهگانه (سه تایی) C-style به صورت var>10?88:99
true، وضعیت خروج موفقیت (0) را برگشت میدهد
دستور داخلی typeset
* * *
$UID، شماره ID کاربر
unalias، برای حذف کردن یک مستعار
uname، اطلاعات سیستم را میدهد
Unicode، کد گذاری استاندارد برای نمایندگی حروف و علامتها
از کار انداختن unicode برای بهینهسازی اسکریپت
Uninitialized variables متغیرهای مقداردهی نشده
uniq، فیلتر برای حذف سطرهای تکراری از یک فایل مرتب شده
unset، حذف یک متغیر پوسته
حلقه until
until [ condition-is-true ]; do
* * *
Variables متغیرها
تنظیم یک متغیر برای بلوک کد sed یا awk
عملیات سهگانه افزایش/کاهش C-style
تغییر مقدار متغیرهای داخلی اسکریپت با استفاده از set
declare، برای تعیین صفات متغیرها
حذف یک متغیر پوسته با استفاده از unset
عملگرهای بسط و جایگزینی رشته فرعی
eval variable1=\$$variable2
${!variable}
عدد صحیح / رشته (متغیرها بدون نوع هستند)
${#var}
تشخیص تفاوت میان نام و مقدار یک متغیر
بررسی برای رشته تهی
پرهیز از تخصیص متغیر تهی
در پوسته فرعی برای پوسته پدر قابل رویت نیست
آزمایش یک متغیر برای اینکه فقط شامل ارقام باشد
تخصیص نوع، تصریح نمودن صفات یک متغیر
پیغام خطای متغیر اعلان نشده
تفکیک شدن متغیر نقلقول نشده
* * *
wait، تعلیق اجرای اسکریپت
Weak quoting نقلقول ضعیف " ... "
حلقه while
while [ condition ]; do
Whitespace فضای سفید، کاراکترهای فاصله، tab، و سطرجدید
خطای مقدم بر بستن رشته حریم در یک here document
نقلقول برای حفظ نمودن فضای سفید در درون رشتهها یا متغیرها
[:space:]، کلاس کاراکتر POSIX
who، اطلاعات در باره کاربران لاگین کرده
Wild card کاراکترهای جانشین
Word splitting تفکیک کلمه
Wrapper پوسته
* * *
xargs، فیلتر برای گروهبندی شناسهها
* * *
* * *
-z رشته تهی است
Zombie، پردازشی که خاتمه یافته، اما هنوز به وسیله پدرش kill نگردیده