پاسخ : اجرای دستور

ساخت وبلاگ
از اونجایی که تمام سوییچ ها رو حفظ نیستم؛ یه ترمینال باز کردم و در خط فرمان نوشتم :
[/code]man gzip

و دنبال سوییچ  گشتم

-c
دیدم نوشته:

تمامی خروجی‌ها رو در خروجی استاندارد مینویسه


دستور زیر:
gzip -c /bin/bash > sample.gz
میاد فایل بش (bash) رو میگیره و تبدیل به فایل فشرده میکنه ؛ و خروجی رو در فایل sample.gz‌ مینویسه؛ درواقع الان یه فایل فشرده شده استاندارد داریم

دستور زیر:

gzip -dc fuzzed.gz > /dev/nullتلاش میکنه تا فایل دستکاری شده رو از حالت فشرده خارج کنه؛ سویچ d برای اینه که از حالت فشرده خارج کنیم
خروجی رو فایل null‌ مینویسه؛ که منظورش اینه که خروجی دستور gzip رو نمیخوام ببینم و لازم نیست نشنونمون بده
دستگاه null‌ جاییه که هرچی بهش بفرستی هیچ اتفاقی نمیافته و نابود میشه

   test $? -gt 127 && break

و دستور بالا یک عبارت شرطی هستش ؛
$? یعنی کد خروجی آخرین برنامه؛ که توی مورد بالا اخرین برنامه ای که اجرا شده میشه gzip‌
* کد خروجی حالت برنامه رو پس از اجرا مشخص میکنه؛ اگه اجرای برنامه درست بود و با موفقت اجرا شد 0 هستش؛ در غیر اینصورت یه عدد دیگه هستش که استاندارد خاصی نداره؛-gtیعنی بزرگتر از&&به زبان ساده یعنی اگه دستورمون درست بود عبارت بعدی رو اجرا کن
در زبان غیر ساده کد خروجی دستور قبلی رو که test هستش رو میگیره؛ چون لازمه‌ی عبارت and اینه که اگه قسمت اول درست بود احتیاج به تست قسمت دوم داره (جون فقط 1 & 1 = 1) ؛ در نتیجه بناچار قسمت دوم رو هم اعتبار سنجی میکنهbreakهم باعث این میشه از حلقه خارج بشیم

درکل معنی عبارت بالا اینه که اگر کد خروجی gzip بزرگتر ۱۲۷ بود از حلقه خارج شد
حالا چرا ۱۲۷ را انتخاب کرده نمیدونم

اوبونتو...
ما را در سایت اوبونتو دنبال می کنید

برچسب : نویسنده : استخدام کار ubuntu بازدید : 124 تاريخ : چهارشنبه 9 تير 1395 ساعت: 0:15