From 7edff781c116883a6bd0a0cbd65f73ad368c2413 Mon Sep 17 00:00:00 2001 From: Julian Calaby Date: Wed, 22 Jul 2015 12:45:54 +1000 Subject: [PATCH 1/6] Reduce lines required for command documentation --- bocker | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/bocker b/bocker index 76676f4..6cdbf9d 100755 --- a/bocker +++ b/bocker @@ -71,26 +71,21 @@ btrfs subvolume snapshot "$btrfs_path/$1" "$btrfs_path/$2" > /dev/null echo "Created: $2" } function HELP() { -echo -e "Create an image: \n\t./bocker init \n" -echo -e "List images: \n\t./bocker images\n" -echo -e "Create a container: \n\t./bocker run \n" -echo -e "List containers: \n\t./bocker ps\n" -echo -e "View logs from a container: \n\t./bocker logs \n" -echo -e "Delete an image or container: \n\t./bocker rm " +sed -n "s/\\\\n/\n\t/g;s/$/\n/;s/^.*#HELP\\s//p;" < $1 exit 0 } -[[ -z "${1-}" ]] && HELP +[[ -z "${1-}" ]] && HELP $0 case $1 in - init) INIT "$2" ;; - rm) RM "$2" ;; - images) IMAGES ;; - ps) PS ;; - run) + init) INIT "$2" ;; #HELP Create an image:\n./bocker init + images) IMAGES ;; #HELP List images:\n./bocker images + run) #HELP Create a container:\n./bocker run IMAGE="$2" shift && shift RUN "$IMAGE" "$*" ;; - logs) LOGS "$2" ;; + ps) PS ;; #HELP List containers:\n./bocker ps + logs) LOGS "$2" ;; #HELP View logs from a container:\n./bocker logs commit) COMMIT "$2" "$3" ;; - *) HELP ;; + rm) RM "$2" ;; #HELP Delete an image or container:\n./bocker rm + *) HELP $0 ;; esac From dbbeaf87325e9e0bfcbf94528b77abf6b69f2604 Mon Sep 17 00:00:00 2001 From: Julian Calaby Date: Wed, 22 Jul 2015 12:51:46 +1000 Subject: [PATCH 2/6] Document "commit" and "help" commands --- bocker | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bocker b/bocker index 6cdbf9d..2627ed6 100755 --- a/bocker +++ b/bocker @@ -85,7 +85,7 @@ case $1 in ;; ps) PS ;; #HELP List containers:\n./bocker ps logs) LOGS "$2" ;; #HELP View logs from a container:\n./bocker logs - commit) COMMIT "$2" "$3" ;; + commit) COMMIT "$2" "$3" ;; #HELP Commit a container to the image:\n./bocker commit rm) RM "$2" ;; #HELP Delete an image or container:\n./bocker rm - *) HELP $0 ;; + *) HELP $0 ;; #HELP Display this message:\n./bocker help esac From 3bf68db6a441c81f2928ce5ef4e9db91b1570620 Mon Sep 17 00:00:00 2001 From: Julian Calaby Date: Wed, 22 Jul 2015 12:53:42 +1000 Subject: [PATCH 3/6] Use the actual executable path in the help messages And it doesn't cost any lines --- bocker | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/bocker b/bocker index 2627ed6..fbd518a 100755 --- a/bocker +++ b/bocker @@ -71,21 +71,21 @@ btrfs subvolume snapshot "$btrfs_path/$1" "$btrfs_path/$2" > /dev/null echo "Created: $2" } function HELP() { -sed -n "s/\\\\n/\n\t/g;s/$/\n/;s/^.*#HELP\\s//p;" < $1 +sed -n "s/\\\\n/\n\t/g;s/BOCKER/${1/\//\\\/}/g;s/$/\n/;s/^.*#HELP\\s//p;" < $1 exit 0 } [[ -z "${1-}" ]] && HELP $0 case $1 in - init) INIT "$2" ;; #HELP Create an image:\n./bocker init - images) IMAGES ;; #HELP List images:\n./bocker images - run) #HELP Create a container:\n./bocker run + init) INIT "$2" ;; #HELP Create an image:\nBOCKER init + images) IMAGES ;; #HELP List images:\nBOCKER images + run) #HELP Create a container:\nBOCKER run IMAGE="$2" shift && shift RUN "$IMAGE" "$*" ;; - ps) PS ;; #HELP List containers:\n./bocker ps - logs) LOGS "$2" ;; #HELP View logs from a container:\n./bocker logs - commit) COMMIT "$2" "$3" ;; #HELP Commit a container to the image:\n./bocker commit - rm) RM "$2" ;; #HELP Delete an image or container:\n./bocker rm - *) HELP $0 ;; #HELP Display this message:\n./bocker help + ps) PS ;; #HELP List containers:\nBOCKER ps + logs) LOGS "$2" ;; #HELP View logs from a container:\nBOCKER logs + commit) COMMIT "$2" "$3" ;; #HELP Commit a container to the image:\nBOCKER commit + rm) RM "$2" ;; #HELP Delete an image or container:\nBOCKER rm + *) HELP $0 ;; #HELP Display this message:\nBOCKER help esac From d2291613261bc8174013e4bca07bf96742bb79aa Mon Sep 17 00:00:00 2001 From: Julian Calaby Date: Wed, 22 Jul 2015 12:49:31 +1000 Subject: [PATCH 4/6] Move exit call out of HELP() This saves another line as it's only needed in one place. --- bocker | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bocker b/bocker index fbd518a..bbe4ba1 100755 --- a/bocker +++ b/bocker @@ -72,9 +72,8 @@ echo "Created: $2" } function HELP() { sed -n "s/\\\\n/\n\t/g;s/BOCKER/${1/\//\\\/}/g;s/$/\n/;s/^.*#HELP\\s//p;" < $1 -exit 0 } -[[ -z "${1-}" ]] && HELP $0 +[[ -z "${1-}" ]] && HELP $0 && exit 0 case $1 in init) INIT "$2" ;; #HELP Create an image:\nBOCKER init images) IMAGES ;; #HELP List images:\nBOCKER images From 103182ad4077e8bebe8155b736932bb331e44a5a Mon Sep 17 00:00:00 2001 From: Julian Calaby Date: Thu, 23 Jul 2015 09:39:41 +1000 Subject: [PATCH 5/6] Split sed script to only format help comments --- bocker | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bocker b/bocker index bbe4ba1..ca83713 100755 --- a/bocker +++ b/bocker @@ -71,7 +71,7 @@ btrfs subvolume snapshot "$btrfs_path/$1" "$btrfs_path/$2" > /dev/null echo "Created: $2" } function HELP() { -sed -n "s/\\\\n/\n\t/g;s/BOCKER/${1/\//\\\/}/g;s/$/\n/;s/^.*#HELP\\s//p;" < $1 +sed -n "s/^.*#HELP\\s//p;" < $1 | sed "s/\\\\n/\n\t/g;s/BOCKER/${1/\//\\\/}/g;s/$/\n/;" } [[ -z "${1-}" ]] && HELP $0 && exit 0 case $1 in From 3eaea7e44ca1b7abb9e1c7982d40bf7762584f0c Mon Sep 17 00:00:00 2001 From: Julian Calaby Date: Thu, 23 Jul 2015 09:47:31 +1000 Subject: [PATCH 6/6] Trick sed into always ignoring slashes in $0 --- bocker | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bocker b/bocker index ca83713..e2ba33c 100755 --- a/bocker +++ b/bocker @@ -71,7 +71,7 @@ btrfs subvolume snapshot "$btrfs_path/$1" "$btrfs_path/$2" > /dev/null echo "Created: $2" } function HELP() { -sed -n "s/^.*#HELP\\s//p;" < $1 | sed "s/\\\\n/\n\t/g;s/BOCKER/${1/\//\\\/}/g;s/$/\n/;" +sed -n "s/^.*#HELP\\s//p;" < $1 | sed "s/\\\\n/\n\t/g;s/$/\n/;s!BOCKER!${1/!/\\!}!g" } [[ -z "${1-}" ]] && HELP $0 && exit 0 case $1 in