بش کا استعمال کرتے ہوئے اپنی اپنی اسکرپٹس بنائیں

لینکس سیکھنا

اس سے قطع نظر کہ ہم استعمال کر رہے ہیں لینکس کی تقسیم ، اس میں کوئی شک نہیں ہے کہ جیسے ہی ہم اس سسٹم کے استعمال میں آئیں گے ، میرا پسندیدہ اوبنٹو ہے۔ میشن کی ضرورت ہے. جس کا مطلب بولوں: ہمارے بنائیں اپنے احکامات جو کچھ مخصوص احکامات کو ذاتی نوعیت سے انجام دیتے ہیں۔ یہ ضرورت کچھ خاص وجوہات کی بناء پر ہوسکتی ہے۔

  • نحو کو آسان بنائیں ان احکامات کا جو ہم عام طور پر کرتے ہیں۔
  • ایسے اقدامات کریں جو کسی کا احاطہ کرتے ہوں ضرورت ہے جو نظام میں پیش نظارہ نہیں ہے آپریشنل
  • ترتیب کے احکامات کہ ہم یقین سے دہرائیں گے۔

اگرچہ کسی بھی ڈائرکٹری میں / سے باز اسکرپٹ چلایا جاسکتا ہے ، یہ عام طور پر ہوتا ہے ان اسکرپٹس کی میزبانی کے لئے ایک ڈائرکٹری بنائیں. میرے معاملے میں:

$ 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 تبصرے ، اپنا چھوڑیں

اپنی رائے دیں

آپ کا ای میل ایڈریس شائع نہیں کیا جائے گا. ضرورت ہے شعبوں نشان لگا دیا گیا رہے ہیں کے ساتھ *

*

*

  1. اعداد و شمار کے لئے ذمہ دار: میگل اینگل گاتین
  2. ڈیٹا کا مقصد: اسپیم کنٹرول ، تبصرے کا انتظام۔
  3. قانون سازی: آپ کی رضامندی
  4. ڈیٹا کا مواصلت: اعداد و شمار کو تیسری پارٹی کو نہیں بتایا جائے گا سوائے قانونی ذمہ داری کے۔
  5. ڈیٹا اسٹوریج: اوکیسٹس نیٹ ورکس (EU) کے میزبان ڈیٹا بیس
  6. حقوق: کسی بھی وقت آپ اپنی معلومات کو محدود ، بازیافت اور حذف کرسکتے ہیں۔

  1.   miguel کہا

    بہت عمدہ اور اچھی طرح سمجھایا گیا ہے ، لیکن پیرامیٹر سے کیا مراد ہے؟

    1.    پیڈرو رویز ہیڈالگو پلیس ہولڈر کی تصویر کہا

      شکریہ میگل!

      میں پیرامیٹر کے ذریعے وہ تمام تکمیلی معلومات جانتا ہوں جو کسی پروگرام ، فنکشن یا سسٹم کو فراہم کیا جاتا ہے۔ چونکہ یہ بوجھل ہوسکتا ہے ، آئیے آپ کو چند مثالوں کے ساتھ جواب دوں۔

      a.txt فائل کو b.txt فائل میں کاپی کرنے کے لینکس کمانڈ میں ، ہم مندرجہ ذیل لکھتے ہیں۔

      p cp a.txt b.txt

      یہاں سی پی پروگرام دو پیرامیٹرز وصول کرتا ہے جو دو فائلوں کے نام ہیں ، پہلا (ہونا ضروری ہے) a.txt اور دوسرا b.txt۔

      ایک اور مثال: اگر آپ کمانڈ سے کمانڈ سے پرنٹ کرنے بھیجتے ہیں

      p ایل پی فائل.پی ڈی ایف

      اس صورت میں "file.pdf" ایل پی پروگرام کا ایک پیرامیٹر ہے۔

      مجھے امید ہے کہ میں نے آپ کے شکوک و شبہات کو پورا کیا ہے۔

      تمنائیں

  2.   miguel کہا

    میرے تبصرے سامنے نہیں آتے ، یہ عزت کی کمی ہے ، میں اس فورم پر دوبارہ نہیں لوٹتا۔

    1.    پیڈرو رویز ہیڈالگو پلیس ہولڈر کی تصویر کہا

      مجھے نہیں معلوم کہ کیا ہوا ہے ، کسی بھی صورت میں یہ شائع کیا گیا ہے۔

      ہیلو.