আমার একটি সহজ চাহিদা আছে। আমি বেশ কয়েকটি ভেরিয়েবল সংজ্ঞায়িত করতে চাই যা শেল স্ক্রিপ্টের মাধ্যমে আমি ইনস্টল করতে চাইলে প্রদত্ত প্যাকেজগুলির সংখ্যার সাথে সামঞ্জস্য হয়।
নীচে নমুনা কোড:
MISC="shutter pidgin"
WEB="apache2 mongodb"
for pkg in $MISC $WEB; do
if [ "dpkg-query -W $pkg | awk {'print $1'} = """ ]; then
echo -e "$pkg is already installed"
else
apt-get -qq install $pkg
echo "Successfully installed $pkg"
fi
done
কিন্ডা সবকিছুই কাজ করে তবে যুক্তিটি ত্রুটিযুক্ত বলে মনে হচ্ছে কারণ এটি আমার পছন্দসই প্যাকেজগুলি নির্ভরযোগ্যভাবে ইনস্টল করা হয়নি। এটি হয় এটি ইতিমধ্যে ইনস্টল করা হয়েছে বা এটি ইতিমধ্যে ইনস্টল করা প্যাকেজগুলি ইনস্টল করার চেষ্টা করছে।
আমি command -v
নিম্নলিখিতগুলির সাথে বা তার সাথে চেষ্টাও করছি :
if [ "dpkg -l | awk {'print $2'} | grep --regexp=^$pkg$ != """ ]; then
এমনকি ফেরত স্ট্রিংটি খালি ছিল কিনা তা যাচাই করার জন্য পতাকা -n
এবং -z
পতাকা সহ with খুব নিশ্চিত যে আমি এখানে কিছু ভাল জ্ঞান অনুপস্থিত।
আসলেই কোনও প্যাকেজ ইনস্টল করা আছে কিনা তা নিশ্চিত করতে আমি কী করতে পারি তার কোনও ধারণা আছে?
ধন্যবাদ!
apt-get install
ইনস্টলড প্যাকেজগুলির জন্যও যদি কল করা যায় তবে তাতে কী ক্ষতি হবে ? আপনি শুধু কল করতে পারেapt-get install $MISC $WEB
।