adding better variable detection
This commit is contained in:
parent
7b76dabe7b
commit
cee2b5753c
1 changed files with 65 additions and 17 deletions
82
yadm
82
yadm
|
@ -99,7 +99,7 @@ function main() {
|
|||
|
||||
# parse command line arguments
|
||||
local retval=0
|
||||
internal_commands="^(alt|bootstrap|clean|clone|config|decrypt|encrypt|enter|git-crypt|help|--help|init|introspect|list|perms|transcrypt|upgrade|version|verify|--version)$"
|
||||
internal_commands="^(alt|bootstrap|clean|clone|config|decrypt|encrypt|enter|echo|git-crypt|help|--help|init|introspect|list|perms|transcrypt|upgrade|version|--version)$"
|
||||
if [ -z "$*" ] ; then
|
||||
# no argumnts will result in help()
|
||||
help
|
||||
|
@ -110,6 +110,8 @@ function main() {
|
|||
YADM_ARGS=()
|
||||
shift
|
||||
|
||||
|
||||
|
||||
# commands listed below do not process any of the parameters
|
||||
if [[ "$YADM_COMMAND" =~ ^(enter|git_crypt)$ ]] ; then
|
||||
YADM_ARGS=("$@")
|
||||
|
@ -144,7 +146,11 @@ function main() {
|
|||
[ ! -d "$YADM_WORK" ] && error_out "Work tree does not exist: [$YADM_WORK]"
|
||||
HOOK_COMMAND="$YADM_COMMAND"
|
||||
invoke_hook "pre"
|
||||
$YADM_COMMAND "${YADM_ARGS[@]}"
|
||||
if [[ "$YADM_COMMAND" =~ ^(echo)$ ]]; then
|
||||
yecho "${YADM_ARGS[@]}"
|
||||
else
|
||||
$YADM_COMMAND "${YADM_ARGS[@]}"
|
||||
fi
|
||||
else
|
||||
# any other commands are simply passed through to git
|
||||
HOOK_COMMAND="$1"
|
||||
|
@ -1117,6 +1123,7 @@ Commands:
|
|||
yadm enter [COMMAND] - Run sub-shell with GIT variables set
|
||||
yadm git-crypt [OPTIONS] - Run git-crypt commands for the yadm repo
|
||||
yadm transcrypt [OPTIONS] - Run transcrypt commands for the yadm repo
|
||||
yadm echo [OPTIONS] - View yadm internal commands and file paths
|
||||
|
||||
Files:
|
||||
\$HOME/.config/yadm/config - yadm's configuration file
|
||||
|
@ -1400,8 +1407,7 @@ function version() {
|
|||
|
||||
}
|
||||
|
||||
function verify() {
|
||||
#verify internal yadm variables
|
||||
function print_variables(){
|
||||
local local_class
|
||||
local local_system
|
||||
local local_host
|
||||
|
@ -1409,25 +1415,67 @@ function verify() {
|
|||
local local_distro
|
||||
set_local_alt_values
|
||||
|
||||
while [[ $# -gt 0 ]] ; do
|
||||
case "$1" in
|
||||
-o|--os)
|
||||
echo "$local_system"
|
||||
echo "Yadm variables:
|
||||
distro=$local_distro
|
||||
system=$local_system
|
||||
hostname=$local_host
|
||||
user=$local_user
|
||||
class=$local_class
|
||||
"
|
||||
}
|
||||
|
||||
function print_paths(){
|
||||
echo "${2}"
|
||||
if [[ -z $2 ]] ; then
|
||||
echo "yadm paths:
|
||||
repo=$YADM_REPO
|
||||
yadm_dir=$YADM_DIR
|
||||
config=$YADM_CONFIG
|
||||
encrypt=$YADM_ENCRYPT
|
||||
archive=$YADM_ARCHIVE
|
||||
"
|
||||
else
|
||||
case "$2" in
|
||||
repo)
|
||||
echo $YADM_REPO
|
||||
;;
|
||||
-d|--distro)
|
||||
echo "$local_distro"
|
||||
dir|yadm_dir)
|
||||
echo $YADM_DIR
|
||||
;;
|
||||
-u|--user)
|
||||
echo "$local_user"
|
||||
config)
|
||||
echo $YADM_CONFIG
|
||||
;;
|
||||
-h|--host)
|
||||
echo "$local_host"
|
||||
encrypt)
|
||||
echo $YADM_ENCRYPT
|
||||
;;
|
||||
-c|--class)
|
||||
echo "$local_class"
|
||||
archive)
|
||||
echo $YADM_ARCHIVE
|
||||
;;
|
||||
*)
|
||||
#do nothing.
|
||||
echo "$2 is not a valid option"
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
function yecho() {
|
||||
#verify internal yadm variables
|
||||
|
||||
if [[ $# -eq 0 ]] ; then
|
||||
print_variables
|
||||
print_paths
|
||||
fi
|
||||
|
||||
while [[ $# -gt 0 ]] ; do
|
||||
echo "$1"
|
||||
case "$1" in
|
||||
vars|variables)
|
||||
print_variables "${YADM_ARGS[@]}"
|
||||
;;
|
||||
paths|path)
|
||||
print_paths "${YADM_ARGS[@]}"
|
||||
;;
|
||||
*)
|
||||
echo "$1 is not a valid command"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
|
|
Loading…
Reference in a new issue