#!/bin/bash _SYSEXITS_H=1 EX_OK=0 EX__BASE=64 EX_USAGE=64 EX_DATAERR=65 EX_NOINPUT=66 EX_NOUSER=67 EX_NOHOST=68 EX_UNAVAILABLE=69 EX_SOFTWARE=70 EX_OSERR=71 EX_OSFILE=72 EX_CANTCREAT=73 EX_IOERR=74 EX_TEMPFAIL=75 EX_PROTOCOL=76 EX_NOPERM=77 EX_CONFIG=78 EX__MAX=78 pname="$(basename "$0")" root=none function usage(){ printf '%s usage\n\n' "$pname" printf '\t%s [-h|--help]\n' "$pname" printf '\t%s $mountpoint\n' "$pname" printf '\n' } function parse_arguments(){ for arg ; do case "$arg" in -h|--help) usage exit 0 ;; -*) printf "%s error: unknown option: %s\n" "$pname" "$arg" 1>&2 usage exit $EX_USAGE ;; *) if [ "$root" = none ] ; then root="$arg" else printf "%s error: option: %s\n" "$pname" "$arg" 1>&2 usage exit $EX_USAGE fi ;; esac done } function mount_them(){ local root="$1" cd "$root" || exit $EX_OSERR mount -t proc proc proc mount -t sysfs sys sys mount -o bind /dev dev mount -o bind /dev/pts dev/pts } function main(){ parse_arguments "$@" if [ "$root" = none ] ; then printf '%s error: missing mount point argument.\n' "$pname" 1>&2 usage exit $EX_USAGE else mount_them "$root" fi } main "$@" exit $EX_OK