বাশ ফাংশনে alচ্ছিক পরামিতি


12

আমার কাছে দ্রুত নতুন এসভিএন শাখা তৈরির জন্য একটি ফাংশন রয়েছে যা দেখতে দেখতে দেখতে ভাল লাগে

function svcp() { svn copy "repoaddress/branch/$1.0.x" "repoaddress/branch/dev/$2" -m "dev branch for $2"; }

যা আমি ঠিকানাগুলি এবং কিছু অন্যান্য জিনিস সন্ধান না করে এবং অনুলিপি করে দ্রুত একটি নতুন শাখা তৈরি করতে ব্যবহার করি। তবে বার্তাটির জন্য (-ম বিকল্প), আমি এটি রাখতে চাই যাতে আমি যদি তৃতীয় পরামিতি সরবরাহ করি তবে তা বার্তা হিসাবে ব্যবহৃত হয়, অন্যথায় "branch 2 এর জন্য দেব শাখা" এর 'ডিফল্ট' বার্তা ব্যবহৃত হয়। কেউ কীভাবে এটি করা হয় তা ব্যাখ্যা করতে পারেন?

উত্তর:


20
function svcp() { 
    msg=${3:-dev branch for $2}
    svn copy "repoaddress/branch/$1.0.x" "repoaddress/branch/dev/$2" -m "$msg";
}

ভেরিয়েবলটি অ-খালি থাকলে msgসেট করা আছে , অন্যথায় এটির ডিফল্ট মানতে সেট করা আছে । তারপরে তর্ক হিসাবে ব্যবহৃত হয় ।$3$3dev branch for $2$msg-m


3

বাশ ম্যান পৃষ্ঠা থেকে:

 ${parameter:-word}
          Use Default Values.  If parameter is unset or null, the expansion of word is substituted.  Otherwise, the value of parameter is substituted.

আপনার ক্ষেত্রে, আপনি ব্যবহার করতে হবে

$ ফাংশন এসভিসিপি () {
  Def_msg = "branch 2 এর জন্য দেব শাখা"
  প্রতিধ্বনি এসএনএন কপি "রেপোড্রেস / শাখা / $ 1.0.x" "রেপোড্রেস / শাখা / দেব / $ 2" -ম \ "$ {3: - $ Def_msg} \";
}

$ এসভিসিপি 2 উত্তেজনাপূর্ণ_ নতুন_ স্টাফ
এসএনএন কপি রেপোএড্রেস / শাখা / ২.০.x রেপোএড্রেস / শাখা / দেব / উত্তেজনাপূর্ণ_নিউ_স্টাফ-এম "উত্তেজনাপূর্ণ_নিউ_স্টাফের জন্য দেব শাখা"

$ এসভিসিপি 2 উত্তেজনাপূর্ণ_ নতুন_ স্টাফ "বিশ্ব আধিপত্যের গোপন রেসিপি"
এসএনএন কপি রেপোএড্রেস / শাখা / ২.০.x রেপোএড্রেস / শাখা / দেব / উত্তেজনাপূর্ণ_নিউজ স্টাফ-মি "বিশ্ব আধিপত্যের গোপন রেসিপি"
$

আপনি উত্পাদিত এসএনএন কমান্ডের সাথে সন্তুষ্ট থাকলে আপনি ইকো কমান্ডটি সরিয়ে ফেলতে পারেন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.