summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authorwes <wes@FreeBSD.org>2006-01-16 16:18:54 +0000
committerwes <wes@FreeBSD.org>2006-01-16 16:18:54 +0000
commit078db77066c713846da7ec42595b99f9abe157c5 (patch)
tree1bf4b98b6b63331a100396fc4e90dd6fd8beb620 /sbin
parent528140c6f27d2120a3f9b4a3d9ebef15ab5f13a4 (diff)
downloadFreeBSD-src-078db77066c713846da7ec42595b99f9abe157c5.zip
FreeBSD-src-078db77066c713846da7ec42595b99f9abe157c5.tar.gz
Remove dependency on getopts because it is on /usr and we want to
use 'nextboot -D' in rc. Option parsing cribbed from vgrind.sh.
Diffstat (limited to 'sbin')
-rw-r--r--sbin/reboot/nextboot.sh31
1 files changed, 23 insertions, 8 deletions
diff --git a/sbin/reboot/nextboot.sh b/sbin/reboot/nextboot.sh
index 56e53f6..ece2da9 100644
--- a/sbin/reboot/nextboot.sh
+++ b/sbin/reboot/nextboot.sh
@@ -8,31 +8,46 @@
delete="NO"
force="NO"
nextboot_file="/boot/nextboot.conf"
+kernel=""
display_usage() {
echo "Usage: nextboot [-f] [-o options] -k kernel"
echo " nextboot -D"
}
-while getopts "Dfk:o:" argument ; do
- case "${argument}" in
- D)
+# Parse args, do not use getopt because we don't want to rely on /usr
+while test $# -gt 0; do
+ case $1 in
+ -D)
delete="YES"
;;
- f)
+ -f)
force="YES"
;;
- k)
- kernel="${OPTARG}"
+ -k)
+ if test $# -lt 2; then
+ echo "$0: option $1 must specify kernel"
+ display_usage
+ exit 1
+ fi
+ kernel="$2"
+ shift
;;
- o)
- kernel_options="${OPTARG}"
+ -o)
+ if test $# -lt 2; then
+ echo "$0: option $1 must specify boot options"
+ display_usage
+ exit 1
+ fi
+ kernel_options="$2"
+ shift
;;
*)
display_usage
exit 1
;;
esac
+ shift
done
if [ ${delete} = "YES" ]; then
OpenPOWER on IntegriCloud