secret self packager
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Function start
|
||||||
function select_option {
|
function select_option {
|
||||||
local nformat
|
local nformat
|
||||||
local optcount=$#
|
local optcount=$#
|
||||||
@@ -142,6 +143,7 @@ function select_option {
|
|||||||
|
|
||||||
return $(( $returnvalue + 10 ))
|
return $(( $returnvalue + 10 ))
|
||||||
}
|
}
|
||||||
|
## Function end
|
||||||
|
|
||||||
[[ $_ == $0 ]] && {
|
[[ $_ == $0 ]] && {
|
||||||
_help() {
|
_help() {
|
||||||
@@ -190,6 +192,15 @@ _help() {
|
|||||||
"
|
"
|
||||||
exit
|
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_MONOCHROME=0
|
||||||
SELECT_NUMBERS=0
|
SELECT_NUMBERS=0
|
||||||
@@ -206,6 +217,7 @@ for (( i=1; i<=$#; i++ )); do
|
|||||||
[[ "$value" = "-n" ]] && { SELECT_NUMBERS=1; continue; }
|
[[ "$value" = "-n" ]] && { SELECT_NUMBERS=1; continue; }
|
||||||
[[ "$value" = "-_" ]] && { SELECT_UNDERSCORES=1; continue; }
|
[[ "$value" = "-_" ]] && { SELECT_UNDERSCORES=1; continue; }
|
||||||
[[ "$value" = "-o" ]] && { SELECT_TOFILE="${!j}"; ((i++)); continue; }
|
[[ "$value" = "-o" ]] && { SELECT_TOFILE="${!j}"; ((i++)); continue; }
|
||||||
|
[[ "$value" = "--package" ]] && { _package_self; exit; }
|
||||||
opts+=( "$value" )
|
opts+=( "$value" )
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user