ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

عبارات فایل

برای ارزیابی وضعیت فایل ها از عبارات زیر استفاده می شود:


جدول 27-1: آزمایش عبارات فایل


بیان درست است اگر:

بیان درست است اگر:

file1 -اگر file2 file1 و file2 دارای اعداد inode یکسان هستند (این دو

نام فایل ها با پیوند سخت به یک فایل اشاره می کنند).


تصویر

file1 -نه file2 file1 جدیدتر از file2 است.


تصویر

file1 -خیلی file2 file1 قدیمی تر از file2 است.


تصویر

-b پرونده پرونده وجود دارد و یک فایل مخصوص بلوک (دستگاه) است.


تصویر

-c پرونده پرونده وجود دارد و یک فایل مخصوص کاراکتر (دستگاه) است.


تصویر

-d پرونده پرونده وجود دارد و یک دایرکتوری است.


تصویر

-e پرونده پرونده وجود دارد


تصویر

-f پرونده پرونده وجود دارد و یک فایل معمولی است.


تصویر

-g پرونده پرونده وجود دارد و set-group-ID است.


تصویر

-G پرونده پرونده وجود دارد و متعلق به شناسه گروه موثر است.


تصویر

-k پرونده پرونده وجود دارد و مجموعه "بیت چسبنده" خود را دارد.


تصویر


تصویر

-L پرونده پرونده وجود دارد و یک پیوند نمادین است.


تصویر

-O پرونده پرونده وجود دارد و متعلق به شناسه کاربری موثر است.


تصویر

-p پرونده پرونده وجود دارد و یک لوله با نام است.


تصویر

-r پرونده پرونده وجود دارد و قابل خواندن است (برای کاربر مؤثر دارای مجوز قابل خواندن است).


تصویر

-s پرونده پرونده وجود دارد و طولی بزرگتر از صفر دارد.


تصویر

-S پرونده پرونده وجود دارد و یک سوکت شبکه است.


تصویر

-t fd fd یک توصیفگر فایل است که به/از ترمینال هدایت می شود. این می تواند برای تعیین اینکه آیا ورودی/خروجی/خطای استاندارد در حال تغییر مسیر است یا خیر استفاده می شود.


تصویر

-u پرونده پرونده وجود دارد و ثابت است.


تصویر

-w پرونده پرونده وجود دارد و قابل نوشتن است (مجوز نوشتن برای کاربر موثر دارد).


تصویر

-x پرونده پرونده وجود دارد و قابل اجرا است (مجوز اجرا/جستجو برای کاربر موثر دارد).


تصویر


در اینجا ما یک اسکریپت داریم که برخی از عبارات فایل را نشان می دهد:



#! / bin / bash


# test-file: وضعیت یک فایل FILE=~/.bashrc را ارزیابی کنید

اگر [ -e "$FILE" ]; سپس

اگر [ -f "$FILE" ]; سپس

echo "$FILE یک فایل معمولی است."

fi

اگر [ -d "$FILE" ]; سپس

echo "$FILE یک دایرکتوری است."

fi

اگر [ -r "$FILE" ]; سپس

echo "$FILE قابل خواندن است."

fi

اگر [ -w "$FILE" ]; سپس

echo "$FILE قابل نوشتن است."

fi

اگر [ -x "$FILE" ]; سپس

echo "$FILE قابل اجرا/جستجو است."

#! / bin / bash


# test-file: وضعیت یک فایل FILE=~/.bashrc را ارزیابی کنید

اگر [ -e "$FILE" ]; سپس

اگر [ -f "$FILE" ]; سپس

echo "$FILE یک فایل معمولی است."

fi

اگر [ -d "$FILE" ]; سپس

echo "$FILE یک دایرکتوری است."

fi

اگر [ -r "$FILE" ]; سپس

echo "$FILE قابل خواندن است."

fi

اگر [ -w "$FILE" ]; سپس

echo "$FILE قابل نوشتن است."

fi

اگر [ -x "$FILE" ]; سپس

echo "$FILE قابل اجرا/جستجو است."


فی دیگری

echo "$FILE وجود ندارد" خروج 1

fi


خروج

فی دیگری

echo "$FILE وجود ندارد" خروج 1

fi


خروج


اسکریپت فایل اختصاص داده شده به ثابت را ارزیابی می کند فایل و نتایج خود را در حین انجام ارزیابی نمایش می دهد. دو نکته جالب در مورد این فیلمنامه وجود دارد. ابتدا به نحوه پارامتر توجه کنید $FILE در عبارات نقل شده است. این برای تکمیل عبارت مورد نیاز نیست، بلکه دفاعی در برابر خالی بودن پارامتر است. اگر بسط پارامتر از $FILE اگر به یک مقدار خالی منجر شود، باعث خطا می شود (عملگرها به جای عملگرها به عنوان رشته های غیر تهی تفسیر می شوند). استفاده از نقل قول ها در اطراف پارامتر تضمین می کند که عملگر همیشه با یک رشته دنبال می شود، حتی اگر رشته خالی باشد. دوم، توجه به حضور خروج نزدیک به انتهای اسکریپت فرمان دهید. را خروج فرمان یک آرگومان منفرد اختیاری را می پذیرد که به وضعیت خروج اسکریپت تبدیل می شود. هنگامی که هیچ آرگومانی ارسال نمی شود، وضعیت خروج به وضعیت خروج آخرین فرمان اجرا شده تبدیل می شود. استفاده كردن خروج به این ترتیب به اسکریپت اجازه می دهد تا اگر شکست را نشان دهد $FILE به نام فایلی که وجود ندارد گسترش می یابد. را خروج دستوری که در آخرین خط اسکریپت ظاهر می شود به عنوان رسمی وجود دارد. هنگامی که یک اسکریپت "پایان اجرا می شود" (به انتهای فایل می رسد)، با وضعیت خروج آخرین فرمان اجرا شده خاتمه می یابد.

به طور مشابه، توابع پوسته می توانند وضعیت خروج را با گنجاندن یک آرگومان عدد صحیح به آن برگردانند برگشت فرمان اگر بخواهیم اسکریپت بالا را به یک تابع پوسته تبدیل کنیم تا در یک برنامه بزرگتر گنجانده شود، می‌توانیم آن را جایگزین کنیم خروج دستورات با برگشت عبارات و به دست آوردن رفتار مطلوب:



test_file () {


# test-file: وضعیت یک فایل FILE=~/.bashrc را ارزیابی کنید

اگر [ -e "$FILE" ]; سپس

اگر [ -f "$FILE" ]; سپس

echo "$FILE یک فایل معمولی است."

fi

اگر [ -d "$FILE" ]; سپس

echo "$FILE یک دایرکتوری است."

fi

اگر [ -r "$FILE" ]; سپس

test_file () {


# test-file: وضعیت یک فایل FILE=~/.bashrc را ارزیابی کنید

اگر [ -e "$FILE" ]; سپس

اگر [ -f "$FILE" ]; سپس

echo "$FILE یک فایل معمولی است."

fi

اگر [ -d "$FILE" ]; سپس

echo "$FILE یک دایرکتوری است."

fi

اگر [ -r "$FILE" ]; سپس


echo "$FILE قابل خواندن است."

fi

اگر [ -w "$FILE" ]; سپس

echo "$FILE قابل نوشتن است."

fi

اگر [ -x "$FILE" ]; سپس

echo "$FILE قابل اجرا/جستجو است."

fi

دیگر

echo "$FILE وجود ندارد" بازگشت 1

fi


}

echo "$FILE قابل خواندن است."

fi

اگر [ -w "$FILE" ]; سپس

echo "$FILE قابل نوشتن است."

fi

اگر [ -x "$FILE" ]; سپس

echo "$FILE قابل اجرا/جستجو است."

fi

دیگر

echo "$FILE وجود ندارد" بازگشت 1

fi


}


برترین سیستم عامل Cloud Computing در OnWorks: