On 10/31/19 12:18 AM, Bhaskar Chowdhury wrote: > 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 function > under 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: Yes, that should be OK. > -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. Is that how it should be? or what would you expect that to do? -- ~Randy