secret self packager

This commit is contained in:
q
2018-12-25 17:49:27 +02:00
parent 763400337d
commit 2e3b68e6cf

View File

@@ -1,5 +1,6 @@
#!/usr/bin/env bash
## Function start
function select_option {
local nformat
local optcount=$#
@@ -142,6 +143,7 @@ function select_option {
return $(( $returnvalue + 10 ))
}
## Function end
[[ $_ == $0 ]] && {
_help() {
@@ -190,6 +192,15 @@ _help() {
"
exit
}
_package_self() {
grep ^SELECT_ "$0"
printf "source <( echo '"
awk '/^## Function start/{flag=1;next}/^## Function end/{flag=0}flag' "$0" | \
base64 -w 0
printf "' | base64 -d )\n"
printf 'select_option one two three || choice=$(( $? - 9 ))\n'
}
SELECT_MONOCHROME=0
SELECT_NUMBERS=0
@@ -206,6 +217,7 @@ for (( i=1; i<=$#; i++ )); do
[[ "$value" = "-n" ]] && { SELECT_NUMBERS=1; continue; }
[[ "$value" = "-_" ]] && { SELECT_UNDERSCORES=1; continue; }
[[ "$value" = "-o" ]] && { SELECT_TOFILE="${!j}"; ((i++)); continue; }
[[ "$value" = "--package" ]] && { _package_self; exit; }
opts+=( "$value" )
done