اس سے قطع نظر کہ ہم استعمال کر رہے ہیں لینکس کی تقسیم ، اس میں کوئی شک نہیں ہے کہ جیسے ہی ہم اس سسٹم کے استعمال میں آئیں گے ، میرا پسندیدہ اوبنٹو ہے۔ میشن کی ضرورت ہے. جس کا مطلب بولوں: ہمارے بنائیں اپنے احکامات جو کچھ مخصوص احکامات کو ذاتی نوعیت سے انجام دیتے ہیں۔ یہ ضرورت کچھ خاص وجوہات کی بناء پر ہوسکتی ہے۔
- نحو کو آسان بنائیں ان احکامات کا جو ہم عام طور پر کرتے ہیں۔
- ایسے اقدامات کریں جو کسی کا احاطہ کرتے ہوں ضرورت ہے جو نظام میں پیش نظارہ نہیں ہے آپریشنل
- ترتیب کے احکامات کہ ہم یقین سے دہرائیں گے۔
اگرچہ کسی بھی ڈائرکٹری میں / سے باز اسکرپٹ چلایا جاسکتا ہے ، یہ عام طور پر ہوتا ہے ان اسکرپٹس کی میزبانی کے لئے ایک ڈائرکٹری بنائیں. میرے معاملے میں:
$ mkdir /home/pedro/.bin
مجھے یقین ہے ڈائریکٹری (نام کے سامنے مدت کی قیادت کرکے پوشیدہ) میں نے جو بھی اسکرپٹ استعمال کیا ہے اسے تھامنے کے ل.۔ یہ کہ ڈائریکٹری کا نام پوشیدہ ہے اس کے سوا کوئی دوسرا معنی نہیں رکھتا - جب تک کہ واضح طور پر دوسری صورت میں بیان نہیں کیا جاتا ہے۔ گرافیکل موڈ میں فائل دیکھنے والے سے / گھر / پیڈرو دیکھنے پر ظاہر نہیں ہوگا.
اب آپ کو کرنا پڑے گا لینکس کو آگاہ کریں کہ اسے بھی وہاں نظر آنا چاہئے (/home/pedro/.bin) ٹرمینل سے پھانسی دینے والے احکامات۔
$ PATH=$PATH;/home/pedro/.bin
اس طرح سے سسٹم ہمارے آرڈرز کو وہاں تلاش کرے گا جب تک ہم سیشن بند نہیں کرتے ہیں. اس انجمن کو مستقل بنانا:
$ sudo nano /etc/environment
اور ہم شامل کرتے ہیں
:/home/pedro/.bin
PATH لائن کے اختتام پر ، یہ بہت ضروری ہے کہ ہم جس ڈائرکٹری میں شامل ہیں اس کے پتہ سے پہلے بڑی آنت کو نہ بھولیں ، کیوں کہ یہ اضافی طریقہ کار ہے.
ہمارا پہلا قدم بہ اسکرپٹ
ہم اپنی فائل کو اپنے کیس میں اسی طرح بناتے ہیں۔
$ touch ~/.bin/donde
اور اس میں ترمیم کرنے کے ل you ، آپ اپنا پسندیدہ مدیر استعمال کرسکتے ہیں یا اس اشارے پر عمل کرسکتے ہیں:
$ gedit ~/.bin/donde &
اور ہم مندرجہ ذیل مواد شامل کرتے ہیں۔
#!/usr/bin/env bash if [ $# -lt 1 ]; then echo "Necesitas pasar un parámetro" else whereis $1 fi
اسکرپٹ تجزیہ
ہماری پہلی کال لائن «shebang کی# (#! / usr / bin / env bash) لینکس سے اطلاع دیں جہاں بش شیل واقع ہے اور یہ کہ بعش کی ضروریات کے مطابق عمل درآمد کیا جاتا ہے۔ یہ احتیاط اس بات کو یقینی بنانا آسان ہے ہماری اسکرپٹس کسی بھی انسٹالیشن پر کام کرتی ہیں. ایک اور ممکن ہے shebang کی وہ ہنسا:
#!/bin/bash
ان میں فرق بہت عجیب ہوسکتا ہے ، اور میں اس کی وضاحت کروں گا۔ اس آخری میں میں فرض کرتا ہوں کہ ہمارے سسٹم میں بوش شیل / بن / باز ایڈریس پر ہے. تاہم ، جہاں میں اسکرپٹ میں تجویز کرتا ہوں مجھے لگتا ہے کہ میں نہیں جانتا کہ یہ کہاں ہے بش ترجمان میں سسٹم سے اس سے یہ ایڈریس فراہم کرنے کی درخواست کرتا ہوں.
تیسری لائن: جیسا کہ آپ دیکھ سکتے ہیں ، دوسری لائن اگر ہے۔ حروف کو بری کرنے کے لئے «$#« ان پیرامیٹرز کی تعداد پر مشتمل ہے جو ہم کمانڈ لائن سے گزر رہے ہیں. لہذا ، »اگر [$ #_1 XNUMX]» لفظی معنی "اگر پیرامیٹرز کی تعداد 1 سے کم ہے".
چوتھی لائن: پھر (لفظی انگریزی سے ترجمہ: پھر) ، یہاں یہ اشارہ کیا گیا ہے کہ آگے کیا آتا ہے حالت کا جائزہ لینے پر عمل درآمد کیا جائے گا if سچ ہو: دوسرے الفاظ میں ، پیرامیٹرز کی تعداد 1 سے کم ہے ، یعنی صفر۔
پانچویں لائن: اگر ہم بغیر کسی پیرامیٹرز کے اپنے اسکرپٹ کو چلاتے ہیں تو ہم ٹرمینل میں دکھائیں گے «آپ کو پیرامیٹر پاس کرنے کی ضرورت ہے۔
چھٹی لائن: اشارہ کرتا ہے کہ اس کے بعد جو عمل درآمد کیا جائے گا جب ہم نے جو شرط اعلان کی ہے وہ درست نہیں ہے.
ساتویں لائن: Se کمانڈ چلائیں «کہاں ہے« اس مواد کے ساتھ جو ہم گزر چکے ہیں پہلا پیرامیٹر.
آٹھویں لائن: کے ساتھ «fi»یہ اشارہ کرتا ہے کہ بلاک ختم ہوتا ہے if.
ہمارے اسکرپٹ کی جانچ کر رہا ہے
یہ ضروری ہے لکھنے کی اجازت شامل کریں اسکرپٹ پر:
$ chmod -x ~/.bin/donde
اس کے بغیر ، "اجازت سے انکار" کی خرابی ظاہر ہوگی۔. اس کے بعد ، ہم اپنی اسکرپٹ چلا سکتے ہیں۔
$ donde php
اس میں ہمیں پی ایچ پی بائنریز ، ان کی سورس فائلز ، اور مین صفحات کا مقام دکھانا چاہئے۔ کچھ اس طرح:
php: /usr/bin/php7.0 /usr/bin/php /usr/lib/php /etc/php /usr/share/php7.0-readline /usr/share/php7.0-json /usr/share/php7.0-opcache /usr/share/php7.0-common /usr/share/php /usr/share/man/man1/php.1.gz
دوبارہ لگ رہا ہے
- ہم ایک کو چالو ہمارے اسکرپٹس کو رکھنے کے لئے ".bin" ڈائریکٹری.
- ہم مہیا کرتے ہیں اس ڈائریکٹری کو اپنی کمانڈ سرچ میں شامل کرنے کے ل Linux لینکس کو معلومات.
- ہم اپنی اسکرپٹ بناتے ہیں۔
- کے درمیان فرق مختلف shebang کی.
- کا استعمال para # کے ساتھ گزرے پیرامیٹرز کی تعداد.
- کا استعمال پہلا پیرامیٹر ساتھ $1.
میں امید کرتا ہوں اور خواہش کرتا ہوں کہ یہ اسکرپٹ آپ کے لئے کارآمد ہو۔
4 تبصرے ، اپنا چھوڑیں
بہت عمدہ اور اچھی طرح سمجھایا گیا ہے ، لیکن پیرامیٹر سے کیا مراد ہے؟
شکریہ میگل!
میں پیرامیٹر کے ذریعے وہ تمام تکمیلی معلومات جانتا ہوں جو کسی پروگرام ، فنکشن یا سسٹم کو فراہم کیا جاتا ہے۔ چونکہ یہ بوجھل ہوسکتا ہے ، آئیے آپ کو چند مثالوں کے ساتھ جواب دوں۔
a.txt فائل کو b.txt فائل میں کاپی کرنے کے لینکس کمانڈ میں ، ہم مندرجہ ذیل لکھتے ہیں۔
p cp a.txt b.txt
یہاں سی پی پروگرام دو پیرامیٹرز وصول کرتا ہے جو دو فائلوں کے نام ہیں ، پہلا (ہونا ضروری ہے) a.txt اور دوسرا b.txt۔
ایک اور مثال: اگر آپ کمانڈ سے کمانڈ سے پرنٹ کرنے بھیجتے ہیں
p ایل پی فائل.پی ڈی ایف
اس صورت میں "file.pdf" ایل پی پروگرام کا ایک پیرامیٹر ہے۔
مجھے امید ہے کہ میں نے آپ کے شکوک و شبہات کو پورا کیا ہے۔
تمنائیں
میرے تبصرے سامنے نہیں آتے ، یہ عزت کی کمی ہے ، میں اس فورم پر دوبارہ نہیں لوٹتا۔
مجھے نہیں معلوم کہ کیا ہوا ہے ، کسی بھی صورت میں یہ شائع کیا گیا ہے۔
ہیلو.