انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: abdossamad2003 در 03 اسفند 1399، 12:01 بظ
-
با سلام خدمت دوستان
من یک اسکریپت رو دارم مطالعه می کنم که با csh نوشته شده است. میشه بگید این کد دستوری چه کاری انجام میده
setenv TYPE `echo $cwd | awk -F"_" '{print $NF}'`
-
دستور setenv توی csh یه متغیر محیطی ایجاد میکنه. و باید به این شکل استفاده بشه.
setenv VARIABLENAME VALUE
که اولی اسم متغیر هست و دومی مقدارش.
echo رو میدونید چی کار میکنه. داره میگه متغیر cwd رو بخون و | هم میگه خروجی رو بده به دستور بعد.
awk یه دستور برای کار با متنها.
چیزی که جلوی awk نوشته شده میگه که _ رو جدا کنندهی قسمتها به حساب بیار و آخرین قسمت متنی که داده شده را نمایش بده. $NF یعنی آخرین قسمت و print هم که واضحه.
پس کاری که این میکنه اینه که اول میگه یه متغیر به اسم TYPE درست کن و برای مقدارش اول متغیر cwd رو بخون و بعد بده به awk و awk هم _ رو به عنوان جدا کننده قسمتها در نظر میگیره و آخرین قسمت رو برمیگردونه، که این آخرین قسمت به عنوان مقدار داخل متغیر TYPE ذخیره میشه.