শেল স্ক্রিপ্ট শর্তসাপেক্ষে অ্যাপস সংগ্রহস্থল যুক্ত করতে


8

আমি একটি শেল স্ক্রিপ্ট লিখতে চাই যা একটি অ্যাপল রেজিস্ট্রি যুক্ত করবে।
আমি জানি যে আমি এটি ব্যবহার করে করতে পারি sudo add-apt-repository -y <repo>

আমার প্রশ্নটি হ'ল আমি কেবল তখনই এটি করতে পারি যদি ভাণ্ডারটি ইতিমধ্যে যুক্ত না করা হয়, যেমন:

if repo was not added yet:
  sudo add-apt-repository -y <repo>
  sudo apt-get update

ধন্যবাদ


add-apt-repositoryএটি কেবল একবার যুক্ত করবে; আকর্ষণীয় অংশটি apt-get updateশর্তাধীন করছে ।
বেনি চেরনিয়াভস্কি-পাসকিন

আপনি কি এমনকি দু'বার ভান্ডার যুক্ত করার চেষ্টা করেছেন? আমি এখনই যা করেছি তা add-apt-repositoryএকটি থিমের জন্য দু'বার হয়েছে, তবে এর ফলে কেবলমাত্র একটি ফাইলে পরিণত হয়েছিল /etc/apt/sources/sources.list.dayআমি এরই মধ্যে কি চেক করে?
সের্গেই কোলোডিয়াজনি

এটি চেষ্টা করার পরে অনেকক্ষণ হয়ে গেছে তবে আইআইআরসি এটি সংগ্রহস্থলের তালিকার ফাইলে লাইনটি নকল করে
Itay

উত্তর:


5

আমি Itay এর ফাংশনটি পরিবর্তন করেছি যাতে এটি একাধিক পরামিতিগুলি পরিচালনা করে:

add_ppa() {
  for i in "$@"; do
    grep -h "^deb.*$i" /etc/apt/sources.list.d/* > /dev/null 2>&1
    if [ $? -ne 0 ]
    then
      echo "Adding ppa:$i"
      sudo add-apt-repository -y ppa:$i
    else
      echo "ppa:$i already exists"
    fi
  done
}

এটি বলা যেতে হবে:

add_ppa webupd8team/atom xorg-edgers/ppa ubuntu-wine/ppa

4
আপনি যদি অন্য উত্তরটি উন্নত করতে চান তবে দয়া করে এটিকে সম্পাদনার পরামর্শ দিন এবং কোনও নতুন উত্তর তৈরি করবেন না।
ডেভিড ফোস্টার ter ই

5

আমি পিপিএ সংগ্রহস্থলগুলির সাথে ডিল করার জন্য একটি ফাংশন লিখেছি।

add_ppa() {
  grep -h "^deb.*$1" /etc/apt/sources.list.d/* > /dev/null 2>&1
  if [ $? -ne 0 ]
  then
    echo "Adding ppa:$1"
    sudo add-apt-repository -y ppa:$1
    return 0
  fi

  echo "ppa:$1 already exists"
  return 1
}

আমি আরও কিছু মার্জিত উপায় আছে কিনা আমি অবাক।


1

এখন এটি যুক্ত করার পূর্বে সংগ্রহস্থলটি সরিয়ে ফেলা সম্ভব:

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