secret self packager
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user