aboutsummaryrefslogtreecommitdiffstats
path: root/ctmg.sh
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2016-02-05 01:35:24 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2016-02-05 02:00:00 +0100
commitcea8d9807c4f4326b20d72d3d4453f1798dbd761 (patch)
tree252d82860552d7af244ef3fbf5218a6cb2c8cc41 /ctmg.sh
parentInitial commit (diff)
downloadctmg-cea8d9807c4f4326b20d72d3d4453f1798dbd761.tar.xz
ctmg-cea8d9807c4f4326b20d72d3d4453f1798dbd761.zip
Smart mode for no arguments
Diffstat (limited to 'ctmg.sh')
-rwxr-xr-xctmg.sh21
1 files changed, 19 insertions, 2 deletions
diff --git a/ctmg.sh b/ctmg.sh
index 6231672..9eaa79c 100755
--- a/ctmg.sh
+++ b/ctmg.sh
@@ -135,9 +135,26 @@ cmd_delete() {
cmd_list() {
[[ $# -ne 0 ]] && die "Usage: $PROGRAM list"
local mount_points="$(sed -n "s:^/dev/mapper/${CT_MAPPER_PREFIX}[^ ]* \\([^ ]\\+\\).*:\\1:p" /proc/mounts)"
- [[ -n $mount_points ]] && echo -e "$mount_points"
+ [[ -n $mount_points ]] && echo -e "$mount_points" && return 0
+ return 1
}
+cmd_auto() {
+ if [[ $# -eq 0 ]]; then
+ cmd_list "$@" || cmd_usage
+ elif [[ $# -eq 1 ]]; then
+ initialize_container "$1"
+ if [[ -e $mapper_path ]]; then
+ cmd_close "$@"
+ else
+ cmd_open "$@"
+ fi
+ else
+ cmd_usage "$@"
+ fi
+}
+
+
PROGRAM="$(basename "$0")"
[[ $UID != 0 ]] && exec sudo -p "$PROGRAM must be run as root. Please enter the password for %u to continue: " "$(readlink -f "$0")" "$@"
@@ -149,6 +166,6 @@ case "$1" in
c|close) shift; cmd_close "$@" ;;
l|list) shift; cmd_list "$@" ;;
o|open) shift; cmd_open "$@" ;;
- *) cmd_open "$@" ;;
+ *) cmd_auto "$@" ;;
esac
exit 0