এই উত্তরটি কার্যকর হয়, তবে জিইউআই বিকল্পের তুলনায় কিছুটা অপরিশোধিত (যা 5 বছর পরে, এখনও উইন্ডোজ ব্যতীত অন্য কিছুতে কাজ করা যায়নি)। এটি বিএসডি, লিনাক্স, ম্যাক, তবে উইন্ডোজ নয় (কোনও সাইগউইন ছাড়াই) কাজ করবে। ** আপনার নিজের ঝুঁকিতে চালান **
DEBUG=true; PROMPT=true
vbox_delete_all_snapshots() {
vboxmanage snapshot "$1" list |
tac |perl -lane 'print $1 if /UUID: ([a-z0-9-]+)/' |
xargs ${PROMPT:+-p} -n1 ${DEBUG:+echo} vboxmanage snapshot "$1" delete
if $DEBUG && [ $? = 0 ] ; then
echo "The above commands were NOT run. Unset DEBUG (and PROMPT if you feel lucky) to do so."
fi
}
read -p"Enter the name of the VM (or its ID): " vmname; vbox_delete_all_snapshots "$vmname"
আদেশ সহকারে
- কোনও স্ন্যাপশট না থাকলে লিনাক্স অভিযোগ করবে। আপনি যদি লিনাক্স / জিএনইউ ব্যবহার করেন তবে
-r
আপনি xargs
কমান্ডের বিকল্প যুক্ত করতে পারেন
- কমান্ডগুলি বাস্তবায়িত করার জন্য, করুন
unset DEBUG
। প্রত্যেকের জন্য প্রম্পট ছাড়াই কমান্ডগুলি চালিত করতে এক্সিকিউট করুন unset PROMPT
।
- এটি স্ন্যাপশটের একটি সাধারণ "ট্রি" হ্যান্ডেল করা উচিত, তবে আমি কেবল এটির ক্ষেত্রে এটি পরীক্ষা করেছি যেখানে প্রতিটি স্ন্যাপশটে ঠিক 0 বা 1 বাচ্চা ছিল।
নমুনা আউটপুট
Deleting snapshot 'B5' (a02cb9e8-c5be-425d-9bcd-806d72e5a083)
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Deleting snapshot 'B4' (422b29b8-cf79-4c92-a415-a08c1d3dd5a0)
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Deleting snapshot 'B3' (c1ed469f-ffc3-4cb8-81fe-bbf6581e5858)
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Deleting snapshot 'b2' (c0fa9d90-6293-46e5-bcd7-25f2b36f95c4)
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Deleting snapshot 'B1' (894147cb-2cc0-48e3-86c7-bec156da762a)
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Deleting snapshot 'test' (44a69565-1354-4b98-a2cf-64fd7caa6c56)
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%