বাশ স্ক্রিপ্টের এপিটি উত্স তালিকায় পিপিএ ইতিমধ্যে যুক্ত হয়েছে কিনা তা কীভাবে পরীক্ষা করবেন


11

কেউ যদি কোন পিপিএ ইতিমধ্যে আমার সিস্টেম যোগ করা হয় কিভাবে চেক করতে আগে আমি সঙ্গে এটি যোগ জানো add-apt-repositoryএকটি কমান্ড shell script

এটি খুবই উপকারী হবে।

ধন্যবাদ.

উত্তর:


11

আপনি এর মতো কিছু করতে পারেন:

the_ppa=...  # e.g. the_ppa="ondrej/apache2"

if ! grep -q "^deb .*$the_ppa" /etc/apt/sources.list /etc/apt/sources.list.d/*; then
    # commands to add the ppa ...
fi

মন্তব্য:

  • grep সাফল্যের সাথে প্রস্থান করে যদি এটি কোনও মিল খুঁজে পায়
  • এটি !উপেক্ষা করে, সুতরাং কোনও মিল নেই = পিপিএ যোগ না হলে কমান্ডগুলি কার্যকর করা হবে
  • -qপতাকা তোলে grep শান্ত তাই এটি মিলেছে লাইন প্রিন্ট করে না। এটি কেবল শব্দ হবে, আমাদের কেবল কোনও মিল আছে কিনা তা জানতে হবে, যার জন্য প্রস্থান কোডটি নিখুঁত
  • ^deb .*উপসর্গ নিশ্চিত মিলেছে লাইন দিয়ে শুরু হয় করা হয় debলাইন যে মন্তব্য করেছে হয় অগ্রাহ্য করা হবে

এটি সক্রিয় হিসাবে, এটি মন্তব্য করা হয়েছে এমন পপাগুলি সন্ধান করবে, তবে আমি এমন পিপিএগুলি খুঁজে পেতে চাই যা মন্তব্য করা হয়নি, এবং @ টেন-কয়েনের উত্তর এটি করে।
তিত্তে

2

আপনার টার্মিনালটি খুলুন এবং এই আদেশটি টাইপ করুন

grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep fogger

ফোগারকে পিপিএ নামের সাথে প্রতিস্থাপন করুন।

এখানে চিত্র বর্ণনা লিখুন


1
ব্যাঙটি এখনও বেঁচে আছে দেখে ভালো লাগল, আমার ধারণা শেল স্ক্রিপ্টের মধ্যে যদি ইফ স্টেটমেন্টের জন্য গ্রেপ সঠিক একচ্ছত্রতা নয়
জোশ

আপনি awk দিয়েও ক্ষেত্র অনুসন্ধান করতে পারেন। বেশ দ্রুত।
রোড

আমি অ্যাজকের সাথে পরিচিত নই তবে আপনার যদি সমাধান হয় তবে আপনার উত্তর পোস্ট করতে এবং পুনরাবৃত্তি পেতে দ্বিধা করবেন না। পুনশ্চ. আমি একটি লাইনার বেশ পছন্দ করি
জোশ

যেহেতু আমি ছুটিতে আছি ঠিকমতো টেস্টিং করে এখন পোস্ট করতে পারছি না। এটা কি ডাউনটা?
r 24dʒɑ

আমি সেদিনের পরে যদি একটি বিবৃতি দিয়ে এটি পরীক্ষা করব। ডাউনভোটের জন্য দুঃখিত আমি গভীর রাতে এই ধরনের পোস্ট পড়ি না। আমি অনুমান করি এটি কার্যকর করা উচিত এবং আমি যদি কমান্ড পরীক্ষা করে দেখেছি তবে পরে প্রতিক্রিয়া জানাব।
জোশ

0

তালিকাটি সংরক্ষণ করুন ফাইলগুলি, উত্সগুলি, কেবল ডিবে লাইনগুলি নিশ্চিত করে এবং এটি "ফোগার" পিপিএর জন্য গণনা করুন:

ppa_added=`grep ^ /etc/apt/sources.list /etc/apt/sources.list.d/* | grep -v list.save | grep -v deb-src | grep deb | grep fogger | wc -l`

echo $ppa_added

এটি debমন্তব্য করা, শুরু করা # debএবং এই জাতীয় ফাইলগুলি থেকে লাইনগুলিও খুঁজে পায় foo-ppa.list.distUpgrade- এটি কি উদ্দেশ্য?
ভোলকার সিগেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.