On 22:27 Wed 30 Oct 2019, Randy Dunlap wrote:
On 10/30/19 9:52 PM, Bhaskar Chowdhury wrote:That 'rm' doesn't remove any files. Compare what remove_old_kernel() does.No,it is not using that function rather take the parameter from the commandline and get into boot dir match with it and remove it.But it doesn't do that. I tested it. It should be more like what rmeove_old_kernel() does: rm -If vmlinuz-$kernel_ver System.map-$kernel_ver config-$kernel_ver and if not, please explain why not.Okay, again some uniformity missing in the code, I would like to your suggested method,i.e call remove_old_kernel to do the job instead of depending on individual kernel.The simplest thing to do is set kernel_version=$kernel_ver and then call remove_old_kernel(). And set modules_version=$modules_dir_name and call remove_old_modules_dir(). But it would be cleaner to pass a parameter (kernel_version) to the remove_old_kernel() function and to pass a parameter (modules_dir) to the remove_old_modules_dir() function.
Thank you...I have just modified the code and call both the functionunder remove option. BTW I didn't set the extra variable $kernel_ver name it $kernel_version and instead of $modules_dir_name name it $mo
dules_version. Capturing command line parameter in $kernel_version and $modules_version Is that fine? Here is a code snippet: -r | --remove) if [[ $# -ne 3 ]]; then printf "You need to provide kernel version and modules directory name \n" exit 1 else remove_old_kernel remove_old_modules_dir fi I have just test it and it works. And about solitary r option without hypen is ignoring and doing nothing.Means, if I pass ./scripts/prune-kernel r 5.3.3
it simply ignore and does nothing.Only with the hypen it can work.
-- ~Randy
Bhaskar
Attachment:
signature.asc
Description: PGP signature