aboutsummaryrefslogtreecommitdiff
path: root/bin/ak
blob: 1697913f35e7d63de7e91130548461d337e25860 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/bin/bash
##
##    -h, --help                  Prints this help message
##
## Run with no arguments to see available commands
##
fullprogrampath="$(realpath $0)"
PROGRAM="$(basename $0)"
descriptionString="Arching Kaos CLI"

source $AK_LIBDIR/_ak_log
source $AK_LIBDIR/_ak_script

if [ $# -eq 0 ]
then
    logit "WARNING" "No command given"
    (
        find $AK_BINDIR | grep 'ak-' | while read available
        do
            #subcmd="$(basename $available | cut -d '-' -f 2)"
            subcmd="$(basename $available)"
            args="-h"
            if [ -n "$subcmd" ]
            then
                echo $subcmd | cut -d '-' -f 2 | sort | uniq | sed -e 's/^/ak /g'
                #$(echo $subcmd) $args
            fi
        done
    ) | sort | uniq
    exit 1
fi

if [ $# -eq 1 ]
then
    case "$1" in
        -h|--help)
            _ak_title_description
            _ak_help
            exit 1
            ;;
    esac
fi

subcmd="$(echo $* | sed -e 's/ /-/g')"
if [ -f "$AK_BINDIR/ak-$subcmd" ]
then
    $(echo ak-$subcmd)
    _ak_exit_program $? "ak-$subcmd command finished";
else
    argc=$#
    argv="$*"
    counter=1
    while [ $counter -lt $argc ]
    do
        subcmd="$(echo $argv | cut -d ' ' -f -$counter | sed -e 's/ /\-/g')"
        args="$(echo "$argv"| cut -d ' ' -f $(($counter + 1))-)"
        if [ -n "$subcmd" ] && [ -f "$AK_BINDIR/ak-$subcmd" ]
        then
            logit "INFO" "Running: ak-$subcmd with args: $args"
            $(echo ak-$subcmd) $args
            _ak_exit_program $? "ak-$subcmd command finished";
        fi
        counter=$(($counter + 1))
    done
    find $AK_BINDIR | while read available
    do
        echo $(basename $available) |\
            grep ak-$(echo $argv | cut -d ' ' -f 1) |\
            sed -e 's/-/ /g'
    done
    logit "ERROR" "Unknown subcommand: $*"
    exit 1
fi