Nie jest to skomplikowane - ja bym to zrobił w następujący sposób: na początku skryptu, sprawdziłbym z jakim argumentem został on wywołany, a potem skoczył do odpowiedniej funkcji, która np. zatrzymuje usługę.
Każdy z tych fragmentów kodów zrób sobie jako funkcję. Na początku skryptu sprawdzaj argumenty wywołania i np. jeśli wywołamy skrypt z argumentem --start, to wykonuje się funkcja odpowiedzialna za start usługi.
Jak sprawdzać argumenty oraz napisać i wywołać funkcję? Do tego musisz sam dojść. Masz dokumentację (man). Innym rozwiązaniem jest poszukanie kursów na Google. Możesz także spojrzeć do innych skryptów startowych i zobaczyć jak tam zrobił to autor danego skryptu.
#!/bin/bash
case $1 in #check the argument
"s" ) name="Suspend" && sudo pm-suspend ;; #Suspend
"h" ) name="Hibernate" && sudo pm-hibernate ;; #Hibernate
* ) echo "Kiling now...for your safety!" && kill $$ ;; #Kill script if there are bad argument or null argument
esac
echo "Come back from" $name
echo "Let start to cleaning the swap"
UsedSwap=`free | awk '{ if (NR==4) { print $3 }}'` #Get know, how many swap is using now
if [$UsedSwap != "0"]
then
sudo swapoff -a && sudo swapon -a #Czyszczenie swapa
echo "Swap cleaned"
else
echo "There is no need to cleaning the swap"
fi
echo $name "is done"%
Masz przykład do hibernacji, ale myślę że zrozumiesz o co chodzi.