این دستور testposix است که می تواند در ارائه دهنده میزبانی رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
تست - بیان را ارزیابی کنید
خلاصه
آزمون [بیان]
[ [بیان] ]
شرح
La آزمون ابزار باید ارزیابی شود بیان و نتیجه ارزیابی را مشخص کنید
با وضعیت خروج آن وضعیت خروج صفر نشان می دهد که عبارت درست ارزیابی شده است
و وضعیت خروج 1 نشان می دهد که عبارت به عنوان نادرست ارزیابی شده است.
در شکل دوم ابزار، که استفاده می کند "[]" به جای آزمون، درخواست باید
اطمینان حاصل کنید که کروشه های مربع آرگومان های جداگانه هستند.
OPTIONS
La آزمون ابزار نباید "--" استدلال به روشی که توسط
راهنمای 10 در جلد تعاریف پایه POSIX.1-2008، بخش 12.2, سودمندی نحو
دستورالعمل.
هیچ گزینه ای نباید پشتیبانی شود.
عملگرها
برنامه باید اطمینان حاصل کند که تمام اپراتورها و عناصر اولیه به عنوان ارائه شده است
استدلال های جداگانه برای آزمون ابزار
برای ساختن می توان از اولیه های زیر استفاده کرد بیان:
-ب نام خانوادگی
درست است اگر نام خانوادگی تصمیم به en ورود دایرکتوری موجود برای یک بلوک ویژه می کند
فایل. نادرست اگر نام خانوادگی قابل حل نیست، یا اگر نام خانوادگی حل می کند به یک
ورودی دایرکتوری موجود برای فایلی که یک فایل خاص بلوکی نیست.
-ج نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی دایرکتوری موجود برای یک کاراکتر خاص حل می شود
فایل. نادرست اگر نام خانوادگی قابل حل نیست، یا اگر نام خانوادگی حل می کند به یک
ورودی دایرکتوری موجود برای فایلی که یک فایل کاراکتری خاص نیست.
-د نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی دایرکتوری موجود برای یک دایرکتوری حل می شود. نادرست
if نام خانوادگی قابل حل نیست، یا اگر نام خانوادگی به یک دایرکتوری موجود حل می شود
ورودی برای فایلی که دایرکتوری نیست.
-e نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی دایرکتوری موجود حل می شود. نادرست اگر نام خانوادگی
قابل حل نیست
-f نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی فهرست موجود برای یک فایل معمولی حل می شود.
نادرست اگر نام خانوادگی قابل حل نیست، یا اگر نام خانوادگی به یک موجود حل می شود
ورودی دایرکتوری برای فایلی که یک فایل معمولی نیست.
-g نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی دایرکتوری موجود برای فایلی که دارای آن است حل می شود
مجموعه پرچم set-group-ID. نادرست اگر نام خانوادگی قابل حل نیست، یا اگر نام خانوادگی
به یک ورودی دایرکتوری موجود برای فایلی که مجموعه آن را ندارد حل می شود.
مجموعه پرچم شناسه گروه.
−h نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی دایرکتوری موجود برای پیوند نمادین حل می شود.
نادرست اگر نام خانوادگی قابل حل نیست، یا اگر نام خانوادگی به یک موجود حل می شود
ورودی دایرکتوری برای فایلی که پیوند نمادین نیست. اگر جزء نهایی
of نام خانوادگی یک پیوند نمادین است، آن پیوند نمادین دنبال نمی شود.
-L نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی دایرکتوری موجود برای پیوند نمادین حل می شود.
نادرست اگر نام خانوادگی قابل حل نیست، یا اگر نام خانوادگی به یک موجود حل می شود
ورودی دایرکتوری برای فایلی که پیوند نمادین نیست. اگر جزء نهایی
of نام خانوادگی یک پیوند نمادین است، آن پیوند نمادین دنبال نمی شود.
−n رشته درست است اگر طول رشته غیر صفر است؛ در غیر این صورت، نادرست
-ص نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی فهرست موجود برای یک FIFO حل می شود. نادرست اگر
نام خانوادگی قابل حل نیست، یا اگر نام خانوادگی به یک دایرکتوری موجود حل می شود
ورودی برای فایلی که FIFO نیست.
-r نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی دایرکتوری موجود برای فایلی که مربوط به آن است
مجوز خواندن از فایل، همانطور که در تعریف شده است، اعطا خواهد شد بخش 1.1.1.4,
پرونده خواندن, نوشتن, و ایجاد. نادرست اگر نام خانوادگی قابل حل نیست، یا اگر
نام خانوادگی به یک ورودی دایرکتوری موجود برای فایلی که مجوز برای آن وجود دارد حل می شود
خواندن از فایل داده نمی شود.
-S نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی فهرست موجود برای یک سوکت حل می شود. نادرست اگر
نام خانوادگی قابل حل نیست، یا اگر نام خانوادگی به یک دایرکتوری موجود حل می شود
ورودی برای فایلی که سوکت نیست.
-s نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی دایرکتوری موجود برای فایلی که دارای a
سایز بزرگتر از صفر نادرست اگر نام خانوادگی قابل حل نیست، یا اگر نام خانوادگی
به یک ورودی دایرکتوری موجود برای فایلی که اندازه ندارد حل می شود
بزرگتر از صفر
-t file_descriptor
اگر شماره توصیفگر فایل درست است file_descriptor باز است و با الف همراه است
پایانه. نادرست اگر file_descriptor یک شماره توصیف کننده فایل معتبر نیست، یا اگر
شماره توصیفگر فایل file_descriptor باز نیست، یا اگر باز است اما نیست
مرتبط با یک ترمینال
-u نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی دایرکتوری موجود برای فایلی که دارای آن است حل می شود
مجموعه پرچم set-user-ID. نادرست اگر نام خانوادگی قابل حل نیست، یا اگر نام خانوادگی
به یک ورودی دایرکتوری موجود برای فایلی که مجموعه آن را ندارد حل می شود.
مجموعه پرچم شناسه کاربر
-w نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی دایرکتوری موجود برای فایلی که مربوط به آن است
طبق تعریف در فایل، اجازه نوشتن به فایل اعطا خواهد شد بخش 1.1.1.4,
پرونده خواندن, نوشتن, و ایجاد. نادرست اگر نام خانوادگی قابل حل نیست، یا اگر
نام خانوادگی به یک ورودی دایرکتوری موجود برای فایلی که مجوز برای آن وجود دارد حل می شود
برای نوشتن در فایل اجازه داده نخواهد شد.
-x نام خانوادگی
درست است اگر نام خانوادگی به یک ورودی دایرکتوری موجود برای فایلی که مربوط به آن است
اجازه اجرای فایل (یا جستجو در آن، اگر دایرکتوری باشد) خواهد بود
داده شده، همانطور که در تعریف شده است بخش 1.1.1.4, پرونده خواندن, نوشتن, و ایجاد. نادرست
if نام خانوادگی قابل حل نیست، یا اگر نام خانوادگی به یک دایرکتوری موجود حل می شود
ورودی برای فایلی که اجازه اجرای (یا جستجو) فایل برای آن وجود ندارد
اعطا شود.
−z رشته اگر طول رشته باشد درست است رشته صفر است؛ در غیر این صورت، نادرست
رشته درست است اگر رشته رشته رشته تهی نیست. در غیر این صورت، نادرست
s1 = s2 درست است اگر رشته ها s1 و s2 یکسان هستند؛ در غیر این صورت، نادرست
s1 != s2 درست است اگر رشته ها s1 و s2 یکسان نیستند؛ در غیر این صورت، نادرست
n1 - معادله n2 اگر اعداد صحیح باشد درست است n1 و n2 از نظر جبری برابر هستند. در غیر این صورت، نادرست
n1 -نه n2 اگر اعداد صحیح باشد درست است n1 و n2 از نظر جبری برابر نیستند. در غیر این صورت، نادرست
n1 -gt n2 اگر عدد صحیح باشد درست است n1 از نظر جبری بزرگتر از عدد صحیح است n2؛ در غیر این صورت،
نادرست
n1 - ge n2 اگر عدد صحیح باشد درست است n1 از نظر جبری بزرگتر یا مساوی با عدد صحیح است n2;
در غیر این صورت، نادرست
n1 - n2 اگر عدد صحیح باشد درست است n1 از نظر جبری کمتر از عدد صحیح است n2؛ در غیر این صورت،
نادرست
n1 -le n2 اگر عدد صحیح باشد درست است n1 از نظر جبری کمتر یا مساوی با عدد صحیح است n2;
در غیر این صورت، نادرست
بیان 1 -a بیان 2
اگر هر دو درست باشد بیان 1 و بیان 2 درست هستند؛ در غیر این صورت، نادرست در -a
اولیه دودویی چپ انجمنی است. از اولویت بالاتری برخوردار است -o.
بیان 1 -o بیان 2
اگر هر کدام درست است بیان 1 or بیان 2 درست است؛ در غیر این صورت، نادرست را -o
اولیه دودویی چپ انجمنی است.
به استثنای −h نام خانوادگی و -L نام خانوادگی مقدماتی، اگر الف نام خانوادگی استدلال است
یک پیوند نمادین، آزمون باید بیان را با حل پیوند نمادین ارزیابی کند و
با استفاده از فایل ارجاع شده توسط لینک
این اولیه ها را می توان با عملگرهای زیر ترکیب کرد:
! بیان
درست است اگر بیان نادرست است نادرست اگر بیان درست است.
( بیان )
درست است اگر بیان درست است. نادرست اگر بیان نادرست است پرانتز می تواند باشد
برای تغییر تقدم و ارتباط عادی استفاده می شود.
مقدماتی با دو عنصر فرم:
-اولیه_اپراتور عملگر_primary
شناخته شده است به عنوان یگانه مقدمات. مقدماتی با سه عنصر در هر یک از این دو
تشکیل می دهد:
عملگر_primary -اولیه_اپراتور عملگر_primary
عملگر_اصلی_عملگر_پره
شناخته شده است به عنوان دوتایی مقدمات. اپراتورهای اضافی تعریف شده توسط پیاده سازی و
اولیه_اپراتورs ممکن است توسط پیاده سازی ها ارائه شود. آنها باید به شکل − باشنداپراتور
جایی که اولین شخصیت از اپراتور رقمی نیست
الگوریتم تعیین تقدم عملگرها و مقدار بازگشتی که
باید بر اساس تعداد آرگومان های ارائه شده به تولید شود آزمون. (با این حال، زمانی که
با استفاده از "[...]" فرم، آرگومان نهایی در شمارش نخواهد بود
این الگوریتم.)
در لیست زیر، $1، $2، $3، و $4 آرگومان های ارائه شده را نشان می دهند آزمون:
0 آرگومان:
خروج نادرست (1).
آرگومان 1: اگر $0 تهی نباشد از true (1) خارج شوید. در غیر این صورت، خروج false.
2 آرگومان:
* اگر 1 دلار باشد '!'، اگر $2 تهی باشد از true خارج شوید، اگر $2 تهی نباشد از false خارج شوید.
* اگر $1 یک اولیه یکنواخت است، اگر تست یکنواخت درست است از true خارج شوید، اگر آزمایش نادرست است
تست Unary نادرست است.
* در غیر این صورت، نتایج نامشخص ایجاد کنید.
3 آرگومان:
* اگر $2 یک باینری اولیه است، تست باینری $1 و $3 را انجام دهید.
* اگر 1 دلار باشد '!'، آزمون دو استدلالی $2 و $3 را نفی کنید.
* اگر 1 دلار باشد '(' و 3 دلار است ')'، آزمایش unary $2 را انجام دهید. روی سیستم هایی که
گزینه XSI را پشتیبانی نمی کند، اگر $1 باشد، نتایج نامشخص است '('
و 3 دلار است ')'.
* در غیر این صورت، نتایج نامشخص ایجاد کنید.
4 آرگومان:
* اگر 1 دلار باشد '!'، آزمون سه استدلالی $2، $3 و $4 را نفی کنید.
* اگر 1 دلار باشد '(' و 4 دلار است ')'، تست دو استدلالی $2 و $3 را انجام دهید.
در سیستمهایی که از گزینه XSI پشتیبانی نمیکنند، نتایج نامشخص هستند
اگر 1 دلار باشد '(' و 4 دلار است ')'.
* در غیر این صورت، نتایج نامشخص است.
> 4 آرگومان:
نتایج نامشخص است.
در سیستم های منطبق با XSI، ترکیبی از اپراتورها و اولیه باید باشد
با استفاده از قوانین تقدم و انجمنی که قبلاً توضیح داده شد، ارزیابی می شود.
علاوه بر این، رشته مقایسه اولیه باینری '=' و "!=" باید داشته باشد
اولویت بالاتر از هر اولیه یکپارچه
STDIN
استفاده نشده.
INPUT فایل ها
ندارد.
محیط زیست متغیرها
متغیرهای محیطی زیر باید بر اجرای آن تأثیر بگذارند آزمون:
زبان یک مقدار پیش فرض برای متغیرهای بین المللی سازی که تنظیم نشده اند یا
خالی. (به جلد تعاریف پایه POSIX.1-2008 مراجعه کنید، بخش 8.2,
بین المللی کردن متغیر برای تقدم بین المللی شدن
متغیرهایی که برای تعیین مقادیر دستههای محلی استفاده میشوند.)
LC_ALL اگر روی یک مقدار رشته ای غیر خالی تنظیم شده است، مقادیر بقیه را لغو کنید
متغیرهای بین المللی سازی
LC_CTYPE محلی را برای تفسیر توالی بایت های داده متنی تعیین کنید
به عنوان کاراکتر (به عنوان مثال، تک بایت در مقابل کاراکترهای چند بایتی در
استدلال).
LC_MESSAGES
محلی را که باید برای تأثیرگذاری بر قالب و محتویات استفاده شود، تعیین کنید
پیام های تشخیصی با خطای استاندارد نوشته شده است.
nlspath تعیین محل کاتالوگ پیام برای پردازش LC_MESSAGES.
نامتقارن رویدادها
پیش فرض
با توجه به
استفاده نشده.
STDERR
خطای استاندارد باید فقط برای پیام های تشخیصی استفاده شود.
OUTPUT فایل ها
ندارد.
تمدید شده شرح
ندارد.
خروج وضعیت
مقادیر خروجی زیر باید برگردانده شوند:
0 بیان درست ارزیابی شد
1 بیان به نادرست یا بیان گم شده بود.
>1 خطایی روی داد.
آثار OF خطاها
پیش فرض
La پیروی بخش هستند آموزنده
کاربرد طریقه استفاده
پسوندهای XSI که -a و -o باینری اولیه و '(' و ')' اپراتور
منسوخ علامت گذاری شده اند. (بسیاری از عبارات با استفاده از آنها به طور مبهم توسط
گرامر بسته به عبارات خاصی که ارزیابی می شوند.) اسکریپت هایی که از اینها استفاده می کنند
عبارات باید به فرم های زیر تبدیل شوند. حتی اگر بسیاری از پیاده سازی ها
به پشتیبانی از این فرم های منسوخ ادامه خواهد داد، اسکریپت ها باید بسیار مراقب باشند
برخورد با ورودی های ارائه شده توسط کاربر است که می تواند با این و سایر موارد اولیه اشتباه گرفته شود
اپراتورها مگر اینکه توسعهدهنده برنامه همه مواردی را که ورودی به آن تولید میکنند، بداند
اسکریپت، فراخوان هایی مانند:
آزمون "$1" -a "$2"
باید به صورت زیر نوشته شود:
آزمون "$1" && آزمون "$2"
برای جلوگیری از مشکلات در صورتی که کاربر مقادیری مانند $1 را تنظیم کرد '!' و $2 را به عدد تهی تنظیم کنید
رشته یعنی در مواردی که حداکثر قابلیت حمل مورد توجه است، جایگزین:
آزمون EXPR1 -a EXPR2
با:
آزمون EXPR1 && آزمون EXPR2
و جایگزین کنید:
آزمون EXPR1 -o EXPR2
با:
آزمون EXPR1 || آزمون EXPR2
اما توجه داشته باشید که، در آزمون, -a بالاتر از قبل است -o در حین "&&" و "||" برابر داشته باشند
تقدم در پوسته
از پرانتز یا پرانتز میتوان در زبان فرمان پوسته برای تأثیر گروهبندی استفاده کرد.
هنگام استفاده باید از پرانتز فرار کرد sh; مثلا:
آزمون \( EXPR1 -a EXPR2 \) -o EXPR3
این دستور همیشه حتی بر روی سیستمهای سازگار با XSI بسته به آن قابل حمل نیست
عبارات مشخص شده توسط صادرات1, صادرات2، و صادرات3. به جای آن می توان از فرم زیر استفاده کرد:
( آزمون EXPR1 && آزمون EXPR2 ) || آزمون EXPR3
دو دستور:
آزمون "$1"
آزمون ! "$1"
نمی توان به طور قابل اعتماد در برخی از سیستم های تاریخی استفاده کرد. نتایج غیرمنتظره ای رخ می دهد اگر
مثل رشته عبارت استفاده شد و $1 گسترش یافت '!', '('، یا یک اولیه یکپارچه شناخته شده.
سازه های بهتر عبارتند از:
آزمون −n "$1"
آزمون −z "$1"
بود.
سیستم های تاریخی نیز با توجه به ساختار رایج غیر قابل اعتماد بوده اند:
آزمون "$response" = "انتظار می رود رشته"
یکی از موارد زیر فرم قابل اعتماد تری است:
آزمون "X$response" = "منتظره رشته"
آزمون "انتظار می رود رشته" = "$response"
توجه داشته باشید که فرم دوم این را فرض می کند انتظار می رود رشته نمی توان با هیچکدام اشتباه گرفت
اولیه یکپارچه اگر انتظار می رود رشته شروع می شود با '-', '(', '!'، یا حتی '='، فرم اول
باید به جای آن استفاده شود. با استفاده از قوانین قبلی بدون پسوندهای با علامت XSI، هر کدام
با توجه به هر ورودی، از سه فرم مقایسه قابل اعتماد است. (با این حال، توجه داشته باشید که
رشته ها در همه موارد نقل قول می شوند.)
از آنجا که مقایسه رشته های اولیه باینری، '=' و "!="، از اولویت بالاتری برخوردارند
در مورد آرگومان بزرگتر از 4، نتایج غیرمنتظره ای ممکن است نسبت به هر اولیه یکنواختی رخ دهد
اگر استدلال ها به درستی آماده نشده باشند. به عنوان مثال، در:
آزمون -د $1 -o -د $2
اگر $1 به نام دایرکتوری احتمالی ارزیابی شود '='، سه استدلال اول هستند
مقایسه رشته ای در نظر گرفته می شود، که در زمان دوم باعث خطای نحوی می شود -د is
مواجه شده. یکی از اشکال زیر از این امر جلوگیری می کند. دوم ترجیح داده می شود:
آزمون \( -د "$1" \) -o \( -د "$2" \)
آزمون -د "$1" || آزمون -د "$2"
همچنین در مورد استدلال بیشتر از 4:
آزمون "$1" = "خفاش" -a "$2" = "توپ"
اگر $1 ارزیابی شود، خطاهای نحوی رخ می دهد '(' or '!'. یکی از اشکال زیر مانع می شود
این؛ سوم ترجیح داده می شود:
آزمون "X$1" = "Xbat" -a "X$2" = "Xball"
آزمون "$1" = "خفاش" && آزمون "$2" = "توپ"
آزمون "X$1" = "Xbat" && آزمون "X$2" = "Xball"
مثال ها
1. اگر دو یا سه آرگومان وجود ندارد (دو تغییر) خارج شوید:
if [ $# -نه 2 ] && [ $# -نه 3 ]; سپس خروج 1; fi
if [ $# - 2 ] || [ $# -gt 3 ]; سپس خروج 1; fi
2. انجام یک mkdir اگر دایرکتوری وجود نداشته باشد:
آزمون ! -د tempdir && mkdir tempdir
3. منتظر بمانید تا فایلی غیرقابل خواندن شود:
در حین آزمون -r پرونده
do
خواب 30
انجام شده
از دست '"پرونده" is نه دیگر خواندنی
4. اگر آرگومان یکی از سه رشته (دو تغییر) باشد، دستوری را اجرا کنید:
if [ "$1" = "گلابی" ] || [ "$1" = "انگور" ] || [ "$1" = "سیب" ]
سپس
فرمان
fi
مورد "$ 1" در
گلابی|انگور|سیب) فرمان ;;
که C
منطقی
دستور شرطی مشتق شده از KornShell (دو براکت [[]]) از پوسته حذف شد
شرح زبان فرمان در یک پیشنهاد اولیه ایراداتی مطرح شد که واقعی است
مشکل استفاده نادرست از آزمون فرمان ([) و قرار دادن آن در پوسته راه اشتباهی است
برای رفع مشکل در عوض، مستندات مناسب و یک پوسته جدید کلمه رزرو شده (!) هستند
کافی
تست هایی که نیاز به چندگانه دارند آزمون عملیات را می توان در سطح پوسته با استفاده از
فراخوان های فردی از آزمون فرمان و پوسته منطقی، به جای استفاده از
مستعد خطا -o پرچم از آزمون.
سیستم های سازگار با XSI بیش از چهار آرگومان را پشتیبانی می کنند.
سیستم های سازگار با XSI از ترکیب اولیه ها با ساختارهای زیر پشتیبانی می کنند:
بیان 1 -a بیان 2
اگر هر دو درست باشد بیان 1 و بیان 2 درست هستند
بیان 1 -o بیان 2
درست است اگر حداقل یکی از بیان 1 و بیان 2 درست هستند
( بیان )
درست است اگر بیان درست است.
در ارزیابی این عبارات ترکیبی پیچیده تر، قوانین اولویت زیر هستند
استفاده شده:
* اولویت های اولیه یکنفری نسبت به اولیه های دوتایی جبری بالاتر است.
* اولویت های اولیه تکی نسبت به اولیه های باینری رشته ای اولویت کمتری دارند.
* اولی های تکی و باینری اولویت بیشتری نسبت به واحدی دارند رشته اولیه.
* ! اپراتور دارای اولویت بالاتری نسبت به -a اپراتور و -a اپراتور دارد
اولویت بالاتر از -o اپراتور.
* -a و -o عملگرها انجمنی باقی می مانند.
* از پرانتزها می توان برای تغییر تقدم و ارتباط عادی استفاده کرد.
نسخه های BSD و System V از -f سلام. تعریف BSD این بود:
-f پرونده درست است اگر پرونده وجود دارد و یک دایرکتوری نیست.
نسخه SVID (در صورتی که فایل وجود داشته باشد و یک فایل معمولی باشد درست است) برای این کار انتخاب شد
حجم POSIX.1-2008 زیرا استفاده از آن با -ب, -ج, -دو -ص عملوندها
(پرونده وجود دارد و یک نوع فایل خاص است).
La -e اولیه، دارای عملکردی مشابه با عملکرد ارائه شده توسط پوسته C بود
اضافه شده است زیرا تنها راهی را برای اسکریپت پوسته برای یافتن وجود یک فایل فراهم می کند
بدون تلاش برای باز کردن فایل از آنجایی که پیاده سازی ها مجاز به افزودن فایل اضافی هستند
انواع، یک اسکریپت قابل حمل نمی تواند استفاده کند:
آزمون -ب فو -o -ج فو -o -د فو -o -f فو -o -ص فو
تا بفهمیم که آیا فو یک فایل موجود است. در سیستم های BSD تاریخی، وجود یک فایل
می تواند توسط:
آزمون -f فو -o -د فو
اما هیچ راه آسانی برای تعیین اینکه یک فایل موجود یک فایل معمولی است وجود نداشت. اوایل
پیشنهاد از KornShell استفاده کرد -a اولیه (به همان معنی)، اما این به تغییر یافت -e
زیرا نگرانی هایی در مورد احتمال زیاد گیج شدن انسان ها وجود داشت -a اصلی
با -a عملگر باینری
گزینه های زیر در این جلد از POSIX.1-2008 گنجانده نشده اند، اگرچه هستند
توسط برخی از پیاده سازی ها ارائه شده است. این عملوندها نباید توسط پیاده سازی های جدید استفاده شوند
برای اهداف دیگر:
-k پرونده درست است اگر پرونده وجود دارد و بیت چسبنده آن تنظیم شده است.
-C پرونده درست است اگر پرونده یک فایل پیوسته است
-V پرونده درست است اگر پرونده یک فایل نسخه است.
گزینه زیر گنجانده نشده است زیرا در اکثر پیاده سازی ها فاقد سند بود.
از برخی از پیاده سازی ها (از جمله System V) حذف شده است، و عملکرد آن است
ارائه شده توسط پوسته (نگاه کنید به بخش 2.6.2, پارامتر توسعه.
-l رشته طول رشته رشته.
La -ب, -ج, -g, -ص, -uو -x عملوندها از SVID مشتق شده اند. BSD تاریخی ندارد
آنها را فراهم کند. را -k عملوند از System V مشتق شده است. BSD تاریخی آن را ارائه نمی دهد.
در سیستم های BSD تاریخی، آزمون -w فهرست راهنما همیشه نادرست برمی گشت زیرا آزمون سعی کردم که
دایرکتوری را برای نوشتن باز کنید، که همیشه ناموفق است.
برخی از مقدماتی اضافی که به تازگی اختراع شده اند یا از KornShell در اوایل ظاهر شدند
پیشنهاد به عنوان بخشی از فرمان مشروط ([[]]): s1 > s2, s1 < s2, خ = الگو, خ
!= الگو, f1 -nt f2, f1 -ot f2و f1 −ef f2. آنها به جلو منتقل نشدند
آزمون هنگامی که دستور شرطی از پوسته حذف شد زیرا آنها حذف نشده اند
گنجانده شده است آزمون ابزار ساخته شده در پیاده سازی های تاریخی از sh ابزار
La -t file_descriptor اولیه با آرگومان اجباری نشان داده می شود زیرا دستور زبان است
اگر بتوان آن را حذف کرد مبهم است. پیاده سازی های تاریخی اجازه داده اند که حذف شود،
ارائه پیش فرض 1.
خاطرنشان می شود که '[' بخشی از مجموعه کاراکترهای نام فایل قابل حمل نیست. با این حال، از آن زمان
باید توسط یک بایت کدگذاری شود و بخشی از مجموعه کاراکترهای قابل حمل است
نام این ابزار یک رشته کاراکتر در تمام مناطق پشتیبانی شده تشکیل می دهد.
آینده جهت
ندارد.
با استفاده از خدمات onworks.net از testposix آنلاین استفاده کنید