টার্মিনাল শুক্রবার: বাশ [মূল সম্প্রসারণ]

সবার আগে আমি ক্ষমা চাইতে চাই, গত শুক্রবার থেকে আমি পোস্টটি লিখতে পারিনি তাই আজ আমি হারিয়ে যাওয়া দিনটি তৈরি করতে একটি অতিরিক্ত যুক্ত করব। 🙂

বন্ধনী সম্প্রসারণ

স্প্যানিশ ভাষায়, মূল বিস্তৃতি আমার কাছে অনুপ্রাণিত একটি ফাংশন বলে মনে হচ্ছে সি শেল, এটি ধনুর্বন্ধনের অভ্যন্তরে প্রবেশ করা অক্ষরগুলির মধ্যে সম্মিলন উত্পন্ন করে, এটি ক্রমটি বাম থেকে ডানে ব্যবহার করে। এটি মোটেই জটিল নয়, তবে এটি একটি বিকল্প যা আমাদের জিএনইউ / লিনাক্সের ট্যুরগুলিতে খুব কার্যকর হবে।

উদাহরণ:

$ 1,2,3} a1 a2 a3 প্রতিধ্বনি করুন

কমা দিয়ে যখন ব্যবহার করা হয় (,) ধনুর্বন্ধনীগুলির মধ্যে মান a এবং মানগুলির মধ্যে সম্মিলন উত্পন্ন করে। যদি কীগুলির বাইরে কোনও মান না থাকে তবে এটি কীতে থাকা প্রতিটি মানই একবার দেখায়।

$ প্রতিধ্বনি {এ, বি, সি} অবিসি

এর ব্যবহার মোটেই জটিল নয়, আরও সাধারণ উদাহরণ রয়েছে যেমন একটি ফোল্ডারে অনেকগুলি ডিরেক্টরি তৈরি করা

$ এমকেডির ~ / চাকরি / {এক, দুই, তিন, চার, পাঁচ}

এটি কাজের ফোল্ডারে পাঁচটি ফোল্ডার তৈরি করে, এটি একবারে একটি কমান্ড প্রবেশ করার মতো। 5 টি ডিরেক্টরি তৈরি করা হচ্ছে।

দুটি পয়েন্ট দ্বারা সম্প্রসারণ আছে .. এটি এমন একটি সংখ্যা বা অক্ষর তৈরি করে যা প্রাথমিক মান থেকে চূড়ান্ত মানের দিকে যায়, লিখিত সংখ্যা ব্যবহার করবেন না।

$ প্রতিধ্বনি {1..5} # সঠিক 1 2 3 4 5 cho প্রতিধ্বনি .. a..f} # সঠিক abcdf $ প্রতিধ্বনি .. a..5} # ভুল {a..5} # আমার মনে হয় আমি এর সাথে কখনও অভ্যস্ত হবো না চিঠিতে নীল রঙ

আমরা একটি চক্র তৈরি করে সময় বাঁচাতে পারি উন্নত

# লেখার ক্ষেত্রে স্থিরতা ((i = 1; i <= 5; i ++)); "আমার নম্বর $ i" প্রতিধ্বনি করুন; সম্পন্ন আমার নম্বর 1 আমার নম্বর 2 আমার নম্বর 3 আমার নম্বর 4 আমার নম্বর 5 # সেভ কোড ব্রেস এক্সপেনশন ব্যবহার করে। $ আমার জন্য {1..5 in; "আমার নম্বর cho i; প্রতি ইকো করুন" আমার নম্বর 1 আমার নম্বর 2 আমার নম্বর 3 আমার নম্বর 4 আমার নম্বর 5 # অবশ্যই আউটপুট ভিন্ন হলেও এটি ব্যবহারের জন্য বৈধ $ My "আমার নম্বর" {1..5} আমার নম্বর প্রতিধ্বনি 1 আমার নম্বর 2 আমার নম্বর 3 আমার নম্বর 4 আমার নম্বর 5

আমি মনে করি ধারণাটি পরিষ্কার, হাহা এখন আমি কেবল মন্তব্য করব যে এটি সংযুক্ত এবং নেস্টেড। আমি এর অর্থ কী?
সমন্বয়যোগ্য যে আমরা এক বা একাধিক কীতে যোগ দিতে পারি

cho প্রতিধ্বনি। a..c} 1..3 .1 এ 2 এ 3 এ 1 বি 2 বি 3 বি 1 সি 2 সি 3 সি XNUMX

নেস্টিংয়ের মাধ্যমে অনেকে কল্পনা করতে পারবেন যে আপনি সম্প্রসারণ কীগুলির মধ্যে প্রসারিত কী ব্যবহার করতে পারেন

$ প্রতিধ্বনি, এ, সি {1..3}, ডি} এ সি 1 সি 2 সি 3 ডি

এবং অবশেষে থেকে বাশ 4 এটি মান বৃদ্ধি করা সম্ভব।

$ প্রতিধ্বনি {0..20..2} 0 2 4 6 8 10 12 14 16 18 20 XNUMX

এটি আজকের জন্য সমস্ত, তাই আমাকে লোকেরা পড়ার জন্য ধন্যবাদ 🙂

অতিরিক্ত

কিভাবে একটি স্থানীয় বিন তৈরি করতে হয়

আমি যখন বলি ক am স্থানীয় বলতে একটি ডিরেক্টরি বোঝায় যেখানে আমাদের নিজস্ব স্ক্রিপ্ট রয়েছে এবং এটি সাধারণ কমান্ড হিসাবে চালানো সম্ভব ...

এটি অর্জন অপেক্ষাকৃত সহজ, আপনার প্রথমে আপনাকে একটি ডিরেক্টরি তৈরি করতে হবে যেখানে আমরা স্ক্রিপ্টগুলি সংরক্ষণ করব।

mkdir ~ / .bin # এই উদাহরণে এটি গোপন করা হবে

স্ক্রিপ্টগুলি সংরক্ষণ করার জন্য এখন আমাদের ফোল্ডার রয়েছে তবে আমরা নতুন .বিনকে $ PATH এ যোগ না করা পর্যন্ত এটি কাজ করবে না
এই জন্য ফাইল সম্পাদিত হয় bash_profile, এবং লাইন যুক্ত করা হয়েছে।

PATH = $ PATH: ~ / .bin রফতানি করুন

এবং ভয়েলা যা একটি স্থানীয় বিন তৈরির জন্য যথেষ্ট, অবশ্যই এটি প্রয়োজন হলে রুট অনুমতি চাইবে উদাহরণস্বরূপ আমরা একটি দ্রুত স্ক্রিপ্ট লিখি।

#! / বিন / বাশ প্রতিধ্বনি "হাই $ 1, কেমন আছেন?"

নামের সাথে এটি সংরক্ষণ করুন হ্যালো
স্ক্রিপ্টটি কার্যকর করার অনুমতি দেওয়া হয় এবং এটি কেবল টার্মিনাল থেকে কল করার জন্য যথেষ্ট

$ হ্যালো ওয়াদা # এই বার্তাটি দেখায় হ্যালো ওয়াদা, কেমন আছেন?

সুতরাং এই দ্রুত কৌশল দ্বারা আপনি আপনার স্ক্রিপ্টগুলি দ্রুত চালাতে পারেন

আজকের দিনে যারা ভাল আছেন for
পিএস যদি ভুল হয় তবে দুঃখিত, আমার চোখ ইতিমধ্যে বন্ধ হচ্ছে হা হা হা ha


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।

  1.   ধুন্তর তিনি বলেন

    আমি দীর্ঘদিন ধরে ব্যাশ ইস্যুতে ছিলাম এবং আমি এই ধনুর্বন্ধনী প্রসারগুলি বুঝতে পারি নি, ধন্যবাদ।

    পথের কৌশলটিতে, ফেডোরা ডিফল্টরূপে এরকম কিছু করে তবে "~ / .local / bin" এ, আমি জেসিকে নিয়ে এসেছি বাশ_প্রফাইলে একটি স্নিপেট দেখুন।

    পাঠ্য = $ পাঠ: $ হোম / .লোকাল / বিন: $ হোম / বিন
    পাঠ্যপথ রফতানি করুন

    1.    রিকার্ডো তিনি বলেন

      আমার কিছু উদ্বেগ রয়েছে:
      ১. আমি কীভাবে তাকে পয়েন্ট দ্বারা সম্প্রসারণের সাথে দুটি অন্তর দিতে পারি; বয়সগুলি {1..1..24,55} এবং আমি 90 থেকে 1 বছর বয়স বাড়িয়ে 24 থেকে 55 দিয়ে চালিয়ে যাচ্ছি। আমি যেমন এটি কাজ করে নি। কেন?

      ২. যদি আমি প্রথম মানটি বাতিল হয়ে যায় এবং নম্বরটি দিয়ে চালিয়ে যেতে চাই:
      উইজেট: http://manga.favorito / চিত্র http://manga.favorito/imagen1
      আমি নিম্নলিখিত পদ্ধতিতে চেষ্টা করেছি কিন্তু উইজেটটি পাওয়া যায় নি: http://manga.favorito/imagen1., ১.৪২ me আমার মতে, আমাকে প্রথম নামটি ছাড়াই ছেড়ে দিতে হবে এবং নম্বরটি 42 থেকে 1 পর্যন্ত চালিয়ে যেতে হবে তবে এটি এমন ছিল না। কেন?

    2.    Wada আপনি তিনি বলেন

      আপনার ঠিক আছে কিছু বিভ্রান্তির একটি .in ছিল বা এটি ছিল তবে এটি যাতে সবাই বুঝতে পারে এবং এটি দেখতে পারে যে এটি কোনও ডিস্ট্রোতে করা সম্ভব: ডি, থামিয়ে দেওয়ার জন্য ধন্যবাদ।

  2.   ডেমো তিনি বলেন

    লিনাক্স জগত এবং এর সুরক্ষায় জ্ঞানের এই অবদানগুলির জন্য খুব ভাল, কিছু শুক্রবার আমি আশা করি যে আমি টার্মিনালে পেনড্রাইভ ফর্ম্যাট করতে এবং টার্মিনালে যে কোনও ফ্রি সিস্টেমের আইসো ডিভিডি / সিডি চিত্র পোড়াতে পারি।

    1.    Wada আপনি তিনি বলেন

      আপনার কথায় কথায় ধন্যবাদ ভাই 😀 আমি প্রতিশ্রুতি দিয়েছি যে আগামী শুক্রবার আমি সেই পোস্টটি করব। এবং আমি অবশ্যই ভিম হাঃহাকে কাস্টমাইজ করার বিষয়ে অবশ্যই করব তবে আমি চাইনি তারা কেবল এটি ভিমকে ঘিরে রাখবে think

  3.   edoardo_or তিনি বলেন

    দুর্দান্ত টার্মিনাল নিবন্ধ, আমি দীর্ঘ সময় পড়েছি সেরা, বেশ কয়েকটি ব্লগ গণনা করে যা এই শৈলীর টিউটোরিয়াল প্রকাশ করে। অনেক ধন্যবাদ!!

    1.    Wada আপনি তিনি বলেন

      আপনাকে অনেক ধন্যবাদ 😀 আমি চেষ্টা চালিয়ে যাব

  4.   জুয়ানলি তিনি বলেন

    লোকাল বিনের দুর্দান্ত টিপ!
    গ্রিটিংস!

    1.    Wada আপনি তিনি বলেন

      দুর্দান্ত, দুর্দান্ত যে এটি আপনার পক্ষে কার্যকর, ভাইকে পাশ করার জন্য আপনাকে অনেক ধন্যবাদ 😀

  5.   গিসকার্ড তিনি বলেন

    খুব ভালো! এই সম্পর্কে কোন ধারণা। ধন্যবাদ 🙂

    1.    Wada আপনি তিনি বলেন

      আপনি স্বাগতম ভাই, এটি পড়ার জন্য সময় দেওয়ার জন্য আপনাকে ধন্যবাদ 😀

  6.   রিকার্ডো তিনি বলেন

    আমার কিছু উদ্বেগ রয়েছে:
    ১. আমি কীভাবে তাকে পয়েন্ট দ্বারা সম্প্রসারণের সাথে দুটি অন্তর দিতে পারি; বয়সগুলি {1..1..24,55} এবং আমি 90 থেকে 1 বছর বয়স বাড়িয়ে 24 থেকে 55 দিয়ে চালিয়ে যাচ্ছি। আমি যেমন এটি কাজ করে নি। কেন?

    ২. যদি আমি প্রথম মানটি শূন্য হতে চাই এবং নম্বরটি দিয়ে চালিয়ে যেতে চাই:
    উইজেট: http://manga.favorito/imagen http://manga.favorito/imagen1

    আমি নিম্নলিখিত পদ্ধতিতে চেষ্টা করেছি কিন্তু উইজেটটি পাওয়া যায় নি: http://manga.favorito/imagen1., ১.৪২ me আমার মতে, আমাকে প্রথম নামটি ছাড়াই ছেড়ে দিতে হবে এবং নম্বরটি 42 থেকে 1 পর্যন্ত চালিয়ে যেতে হবে তবে এটি এমন ছিল না। কেন?
    * দুঃখিত তবে আমি উত্তর হিসাবে প্রথম পোস্টটি রেখেছি এবং এটি কিছু অংশে ভুল ছিল

    1.    Wada আপনি তিনি বলেন

      1.- আপনার যুক্তি ভুল আপনি এটি বাসা করতে হবে hahaha চেষ্টা করে $ echo {{1..24},{55..90}}

      ২.- আগের হিসাবে একই ... $ echo "URL"{,{1..42}}

      ভাইয়া চিন্তা করবেন না, আমরা আমাদের এখানে এসেছি 🙂

  7.   jvk85321 তিনি বলেন

    প্রতিধ্বনিটি প্রতিধ্বনির সাথে প্রতিস্থাপন করতে এটি দেখতে এরকম হবে

    প্রতিধ্বনি "আমার নম্বর" {1..5} $ '\ n' | sed -e: a -e '$! n; s / \ n / \ n /; টা' | সেড-এ: এ-এ '$! এন; এস / 5 \ এন / 5 /; টা'

    তবে আমি প্রিন্টএফ পছন্দ করি

    printf "I, I% d \ n" {1..5}

    এবং কী সম্প্রসারণের একই ধারণাটি ব্যবহার করুন

    atte
    jvk85321

    1.    jvk85321 তিনি বলেন

      আপনি কিভাবে টার্মিনাল বাক্স রাখবেন ????

      atte
      jvk85321

  8.   jvk85321 তিনি বলেন

    কোড ট্যাগ কাজ করে কিনা তা পরীক্ষা করা হচ্ছে
    Jeje

    প্রতিধ্বনিটি প্রতিধ্বনির সাথে প্রতিস্থাপন করতে এটি দেখতে এরকম হবে

    echo “Mi numero “{1..5}$’\n’ | sed -e :a -e ‘$!N;s/\n /\n/;ta’ | sed -e :a -e ‘$!N;s/5\n/5/;ta’

    pero prefiero printf

    printf “Mi numero %d\n” {1..5}

    এবং কী সম্প্রসারণের একই ধারণাটি ব্যবহার করুন

    atte
    jvk85321

    1.    jvk85321 তিনি বলেন

      আমি কিছু বাগ রেখেছি কিন্তু এটি কার্যকর হয়েছে

      আমি বেঁচে আছি মালুকো

      বিরক্ত করার জন্য দুঃখিত

      atte
      jvk85321

      1.    Wada আপনি তিনি বলেন

        হাহাহাহা আপনি নিজের উত্তর দিয়েছিলেন তবে তা যদি লেবেলের মধ্যে থাকে কোন স্পেস ...

        এবং এর বিকল্পের জন্য এটির জন্য এত বেশি পাইপ হাহাহাহাহা করার দরকার নেই:
        echo -e "Mi numero "{1..5}"\n\b"

        সৎ প্রিন্টফ হতে স্ক্রিপ্টগুলিতে পাঠ্য মুদ্রণের সেরা উপায়, এটি আরও বহনযোগ্য তবে traditionতিহ্যগতভাবে প্রতিধ্বনি ব্যবহার করে।

      2.    Wada আপনি তিনি বলেন

        আমি ফাঁকা জায়গা! হা হা হা হা হা

        আসুন এখন দেখুন 😀

      3.    Wada আপনি তিনি বলেন

        ফাক এটা "" "কোড" এর চেয়ে "" "" এর চেয়ে "" / কোড "এর চেয়ে" হাহাহাহাহার চেয়ে বড় "

      4.    jvk85321 তিনি বলেন

        প্রতিধ্বনিত সমস্যাটি আদর্শ নয়, সুতরাং এটি সমস্ত সিস্টেমে কাজ করে না।

        অগোছালোও বেরিয়ে আসে
        jvk@jvktos:~$ echo -e "Mi numero "{1..5}"\n\b"
        Mi numero 1
        Mi numero 2
        Mi numero 3
        Mi numero 4
        Mi numero 5

        jvk@jvktos:~$
        এবং এই সঙ্গে
        jvk@jvktos:~$ echo "Mi numero "{1..5}$'\n' | sed -e :a -e '$!N;s/\n /\n/;ta' | sed -e :a -e '$!N;s/5\n/5/;ta'
        Mi numero 1
        Mi numero 2
        Mi numero 3
        Mi numero 4
        Mi numero 5
        jvk@jvktos:~$

        আমি মনে করি দ্বিতীয়টি ফলাফল আরও ভাল উপস্থাপন করে, হাহাহা

        atte
        jvk85321

      5.    jvk85321 তিনি বলেন

        এই লেবেলগুলি একটি গুঁতা, হিহে, এখন সেগুলি কার্যকর হয় কিনা তা দেখা যাক
        jvk@jvktos:~$ echo -e "Mi numero "{1..5}"\n\b"
        Mi numero 1
        Mi numero 2
        Mi numero 3
        Mi numero 4
        Mi numero 5
        jvk@jvktos:~$

        এবং এই সঙ্গে
        jvk@jvktos:~$ echo "Mi numero "{1..5}$'\n' | sed -e :a -e '$!N;s/\n /\n/;ta' | sed -e :a -e '$!N;s/5\n/5/;ta'
        Mi numero 1
        Mi numero 2
        Mi numero 3
        Mi numero 4
        Mi numero 5
        jvk@jvktos:~$

        আমি মনে করি দ্বিতীয়টি ফলাফল আরও ভাল উপস্থাপন করে, হাহাহা
        atte
        jvk85321

      6.    jvk85321 তিনি বলেন

        যাইহোক, লাইনের মধ্যে ফাঁকা স্থান ছেড়ে দিন, এজন্যই আমি এইচটিএমএল, হাহাহাহাকে ঘৃণা করি

  9.   জোয়াকুইন তিনি বলেন

    দুর্দান্ত! আমি হাততালি দিচ্ছি তোমার হা হা

    আমি জানতাম না কীগুলি বাসা বেঁধে দেওয়া যেতে পারে, যেহেতু আমি কখনই সেগুলি ব্যবহার করার চেষ্টা করি নি, এটি সত্যিই প্রচুর কোড সংরক্ষণ করে এবং এটি আরও পাঠযোগ্য। ধন্যবাদ!

    1.    Wada আপনি তিনি বলেন

      ভাইকে পাশ করার জন্য আপনাকে ধন্যবাদ, আমি খুশি যে এটি দরকারী ইউটিড্যাড ছিল

      1.    জোয়াকুইন তিনি বলেন

        আপনাকে স্বাগতম, আমরা এখানে এসেছি, ধারণা ভাগ করে নিতে এবং অবদান রাখতে contribute আমি কীভাবে প্রোগ্রাম করব তা জানি না, আমি সবেমাত্র বাশে বেশ কয়েকটি কাজ করেছি এবং আমি দুটি পোস্টে কিছু স্ক্রিপ্ট প্রকাশ করেছি যা আমি করেছি। আমি মনে করি এটি জানার ফলে কোড বোঝা সহজ হয়ে যায়।