په اړه د یادښتونو لړۍ ته دوام ورکوي
1) PROMPT_COMMAND
تاسو ممکن دمخه پوه شئ چې څنګه د مختلف ګټورو معلوماتو ښودلو لپاره پرامپټ اداره کړئ ، مګر هرڅوک نه پوهیږي چې تاسو کولی شئ د شیل کمانډ چل کړئ هرکله چې پرامپټ ښودل شي.
په حقیقت کې، ډیری پیچلي پرامپټ مینیپلیټرونه دا متغیر د امرونو اجرا کولو لپاره کاروي ترڅو معلومات راټول کړي چې په پرامپټ کې ښودل شوي.
دا په نوي شیل کې چلولو هڅه وکړئ او وګورئ چې غونډې ته څه پیښیږي:
$ PROMPT_COMMAND='echo -n "writing the prompt at " && date'
2) HISTTIMEFORMAT
که تاسو منډې وهئ history
په کنسول کې، تاسو به د امرونو لیست ترلاسه کړئ چې مخکې ستاسو د حساب لاندې اجرا شوي.
$ HISTTIMEFORMAT='I ran this at: %d/%m/%y %T '
یوځل چې دا متغیر تنظیم شي ، نوي ننوتل د کمانډ سره وخت ثبتوي ، نو محصول به داسې ښکاري:
1871 ما دا په 01/05/19 13:38:07 کې واخیسته cat /etc/resolv.conf 1872 ما دا په 01/05/19 13:38:19 curl bbc.co.uk 1873 کې واخیسته : 01/05/19 13:38:41 sudo vi /etc/resolv.conf 1874 زه دا په 01/05/19 13:39:18 curl -vvv bbc.co.uk 1876 کې ورغلم: 01 /05/19 13:39:25 sudo su -
بڼه له حروفونو سره سمون خوري man date
.
3) CDPATH
د کمانډ لاین کې د وخت خوندي کولو لپاره ، تاسو کولی شئ دا متغیر د لارښودونو بدلولو لپاره په اسانۍ سره وکاروئ لکه څنګه چې تاسو امر صادر کوئ.
همداراز PATH
متغیر CDPATH
د کولن څخه جلا شوي لارو لیست دی. کله چې تاسو کمانډ چلوئ cd
د یوې اړوندې لارې سره (د بیلګې په توګه هیڅ مخکښ سلیش)، په ډیفالټ ډول شیل ستاسو په محلي فولډر کې د ورته نومونو لپاره ښکاري. CDPATH
په هغه لارو کې به وپلټئ چې تاسو د هغه لارښود لپاره چې تاسو یې غواړئ لاړ شئ.
که تاسو نصب کړئ CDPATH
پدې ډول:
$ CDPATH=/:/lib
او بیا داخل کړئ:
$ cd /home
$ cd tmp
بیا به تاسو تل پای ته ورسیږئ /tmp
مهمه نده چې تاسو چیرته یاست.
په هرصورت، محتاط اوسئ، ځکه چې که تاسو په لیست کې ځایی مشخص نه کړئ (.
) فولډر، نو تاسو به نشئ کولی کوم بل فولډر جوړ کړئ tmp
او د معمول په څیر دې ته لاړشئ:
$ cd /home
$ mkdir tmp
$ cd tmp
$ pwd
/tmp
اوف!
دا د هغه ګډوډۍ سره ورته دی چې ما احساس کړ کله چې ما پوهیده چې محلي فولډر په ډیر پیژندل شوي متغیر کې شامل نه و PATH
... مګر تاسو باید دا په خپل PATH متغیر کې ترسره کړئ ځکه چې تاسو ممکن د ځینې ډاونلوډ شوي کوډ څخه جعلي کمانډ چلولو کې دوکه شئ.
زما د پیل ټکي لخوا تنظیم شوی:
CDPATH=.:/space:/etc:/var/lib:/usr/share:/opt
4) SHLVL
ایا تاسو کله هم فکر کړی، ټایپ کول exit
ایا دا به تاسو د خپل اوسني باش شیل څخه بل "والدین" شیل ته بوځي ، یا دا به یوازې د کنسول کړکۍ په بشپړ ډول وتړي؟
دا متغیر دا تعقیبوي چې تاسو په باش شیل کې څومره ژور ځړول شوي یاست. که تاسو نوی ټرمینل جوړ کړئ، دا 1 ته ټاکل شوی:
$ echo $SHLVL
1
بیا، که تاسو د شیل بله پروسه پیل کړئ، شمیره زیاتیږي:
$ bash
$ echo $SHLVL
2
دا په سکریپټونو کې خورا ګټور کیدی شي چیرې چې تاسو ډاډه نه یاست چې د وتلو یا نه ، یا د هغه ځای تعقیب وساتئ چیرې چې تاسو ځړول شوي یاست.
5) LINENO
متغیر د اوسني حالت تحلیل او ډیبګ کولو لپاره هم ګټور دی LINENO
، کوم چې تر دې دمه په ناسته کې د اجرا شوي امرونو شمیر راپور ورکوي:
$ bash
$ echo $LINENO
1
$ echo $LINENO
2
دا ډیری وختونه کارول کیږي کله چې د سکریپټونو ډیبګ کول. لکه د کرښې داخلول echo DEBUG:$LINENO
، تاسو کولی شئ په چټکۍ سره وټاکئ چې تاسو په سکریپټ کې چیرته یاست (یا نه).
6) REPLY
که زما په څیر، تاسو معمولا د دې په څیر کوډ لیکئ:
$ read input
echo do something with $input
دا ممکن د حیرانتیا په توګه راشي چې تاسو اړتیا نلرئ د متغیر رامینځته کولو په اړه اندیښنه ولرئ:
$ read
echo do something with $REPLY
دا ورته کار کوي.
7) TMOUT
د امنیتي دلایلو لپاره د تولید سرورونو کې د ډیر وخت پاتې کیدو څخه مخنیوي لپاره یا په ناڅاپي ډول په غلط ټرمینل کې یو څه خطرناک چلول ، د دې متغیر تنظیم کول د محافظت په توګه عمل کوي.
که چیرې د ټاکل شوي ثانیو لپاره هیڅ شی نه وي داخل شوی، شیل وځي.
دا دی، دا یو بدیل دی sleep 1 && exit
:
$ TMOUT=1
سرچینه: www.habr.com