পুরানো প্রশ্ন, আমি দেখতে পারি, তবে এখন একই পরিস্থিতিতে in সাধারণত আমি sudo aptitude install -P PACKAGE_NAME
ইনস্টল করার আগে যা জিজ্ঞাসা করি তা ব্যবহার করি । তবে এখন ডেবিয়ান ডিফল্ট প্যাকেজ ম্যানেজারটিতে রয়েছে apt|apt-get
এবং এটির এই কার্যকারিতা নেই। অবশ্যই আমি এখনও এটি ইনস্টল করতে aptitude
এবং ব্যবহার করতে পারি ... তবে আমি apt-get
ইনস্টলেশনের আগে জিজ্ঞাসা করার জন্য ছোট sh / bash wrapper ফাংশন / স্ক্রিপ্ট লিখেছি । এটি সত্যিই কাঁচা এবং আমি এটি আমার টার্মিনালে একটি ফাংশন হিসাবে লিখেছি।
$ f () { sudo apt-get --simulate install "$@" | grep -v '^Inst\|^Conf'; read -p 'Do You want to continue (y/N): ' ans; case $ans in [yY] | [yY][eE][sS]) sudo apt-get -y install "$@";; *);; esac; }
এখন, এটি আরও পরিষ্কার করা যাক:
f () {
# Do filtered simulation - without lines contains 'Inst' and 'Conf'
sudo apt-get --simulate install "$@" | grep -v '^Inst\|^Conf';
# Interact with user - If You want to proceed and install package(s),
# simply put 'y' or any other combination of 'yes' answer and tap ENTER.
# Otherwise the answer will be always not to proceed.
read -p 'Do You want to continue (y/N): ' ans;
case $ans in
[yY] | [yY][eE][sS])
# Because we said 'yes' I put -y to proceed with installation
# without additional question 'yes/no' from apt-get
sudo apt-get -y install "$@";
;;
*)
# For any other answer, we just do nothing. That means we do not install
# listed packages.
;;
esac
}
এই ফাংশনটি শ / বাশ স্ক্রিপ্ট হিসাবে ব্যবহার করতে সহজভাবে স্ক্রিপ্ট ফাইল তৈরি করুন যেমন my_apt-get.sh
সামগ্রী সহ (দ্রষ্টব্য: তালিকায় মন্তব্যগুলি থাকে না, এটি কিছুটা ছোট করার জন্য ;-)):
#!/bin/sh
f () {
sudo apt-get --simulate install "$@" | grep -v '^Inst\|^Conf';
read -p 'Do You want to continue (y/N): ' ans;
case $ans in
[yY] | [yY][eE][sS])
sudo apt-get -y install "$@";
;;
*)
;;
esac
}
f "$@"
তারপরে এটি উদাহরণস্বরূপ রাখুন ~/bin/
এবং এটির সাথে সম্পাদনযোগ্য করুন $ chmod u+x ~/bin/my_apt-get.sh
। ডিরেক্টরিটি ~/bin
যদি আপনার PATH
চলকটিতে অন্তর্ভুক্ত থাকে তবে আপনি এটিকে কেবল সম্পাদন করতে সক্ষম হবেন:
$ my_apt-get.sh PACKAGE_NAME(S)_TO INSTALL
দয়া করে নোট করুন:
- কোডটি ব্যবহার করে
sudo
। আপনি যদি root
অ্যাকাউন্ট ব্যবহার করেন তবে আপনার সম্ভবত এটি সামঞ্জস্য করা দরকার।
- কোডটি শেল স্বতঃপূরণ সমর্থন করে না
- কোড কীভাবে শেল প্যাটার্নগুলির সাথে কাজ করে তার কোনও ধারণা নেই (উদাঃ "!", "*", "?", ...)