Compare commits
No commits in common. "01e6165788f2da37a744cd8c53e293728b2bfa1c" and "aa2c6df97e0a23b9f94e916514c74a4c6af47d57" have entirely different histories.
01e6165788
...
aa2c6df97e
4 changed files with 48 additions and 103 deletions
|
@ -1,25 +0,0 @@
|
||||||
# ╭───────────────╮
|
|
||||||
# │ __ = internal │
|
|
||||||
# ╰───────────────╯
|
|
||||||
|
|
||||||
# __RWX_BAR_TOP
|
|
||||||
# __RWX_BAR_MIDDLE
|
|
||||||
# __RWX_BAR_BOTTOM
|
|
||||||
|
|
||||||
# __RWX_STEP_LEVEL
|
|
||||||
# __RWX_STEP_level_INDEX
|
|
||||||
# __RWX_STEP_level_LABEL
|
|
||||||
|
|
||||||
# ╭─────────────╮
|
|
||||||
# │ _ = private │
|
|
||||||
# ╰─────────────╯
|
|
||||||
|
|
||||||
_RWX_BOX_DOWN_AND_HORIZONTAL="┬"
|
|
||||||
_RWX_BOX_DOWN_AND_LEFT="╮"
|
|
||||||
_RWX_BOX_DOWN_AND_RIGHT="╭"
|
|
||||||
_RWX_BOX_HORIZONTAL="─"
|
|
||||||
_RWX_BOX_LEFT="╴"
|
|
||||||
_RWX_BOX_UP_AND_HORIZONTAL="┴"
|
|
||||||
_RWX_BOX_UP_AND_LEFT="╯"
|
|
||||||
_RWX_BOX_UP_AND_RIGHT="╰"
|
|
||||||
_RWX_BOX_VERTICAL="│"
|
|
81
sh/main.sh
81
sh/main.sh
|
@ -1,35 +1,27 @@
|
||||||
#! /usr/bin/env sh
|
#! /usr/bin/env sh
|
||||||
|
|
||||||
# ╭──────┬───────────╮
|
# ╭───────────╮
|
||||||
# │ main │ constants │
|
# │ constants │
|
||||||
# ╰──────┴───────────╯
|
# ╰───────────╯
|
||||||
|
|
||||||
RWX_MAIN_NAME="main.sh"
|
RWX_MAIN_NAME="main.sh"
|
||||||
RWX_SELF_NAME="rwx"
|
RWX_SELF_NAME="rwx"
|
||||||
|
|
||||||
RWX_SELF_COMMAND="_${RWX_SELF_NAME}_cmd_"
|
RWX_SELF_COMMAND="_${RWX_SELF_NAME}_cmd_"
|
||||||
|
|
||||||
# ╭──────┬───────────╮
|
# ╭───────────╮
|
||||||
# │ main │ variables │
|
# │ variables │
|
||||||
# ╰──────┴───────────╯
|
# ╰───────────╯
|
||||||
|
|
||||||
RWX_COMMAND_ARGUMENT="${0}"
|
|
||||||
RWX_SHELL="$(cat "/proc/${$}/comm")"
|
|
||||||
|
|
||||||
RWX_COMMAND_NAME="$(basename "${RWX_COMMAND_ARGUMENT}" |
|
|
||||||
sed "s|^-||")"
|
|
||||||
case "${RWX_COMMAND_NAME}" in
|
|
||||||
"bash" | "dash" | "sh") unset RWX_COMMAND_NAME ;;
|
|
||||||
*) ;;
|
|
||||||
esac
|
|
||||||
RWX_ROOT_SYSTEM="/usr/local/lib/${RWX_SELF_NAME}"
|
RWX_ROOT_SYSTEM="/usr/local/lib/${RWX_SELF_NAME}"
|
||||||
RWX_SELF_USER="${HOME}/${RWX_SELF_NAME}"
|
RWX_SELF_USER="${HOME}/${RWX_SELF_NAME}"
|
||||||
|
RWX_SHELL="$(cat "/proc/${$}/comm")"
|
||||||
|
|
||||||
RWX_MAIN_PATH="${RWX_ROOT_SYSTEM}/${RWX_MAIN_NAME}"
|
RWX_MAIN_PATH="${RWX_ROOT_SYSTEM}/${RWX_MAIN_NAME}"
|
||||||
|
|
||||||
# ╭──────┬───────╮
|
# ╭──────╮
|
||||||
# │ main │ shell │
|
# │ core │
|
||||||
# ╰──────┴───────╯
|
# ╰──────╯
|
||||||
|
|
||||||
# test if active shell is in interactive mode
|
# test if active shell is in interactive mode
|
||||||
rwx_shell_interactive() {
|
rwx_shell_interactive() {
|
||||||
|
@ -40,7 +32,7 @@ rwx_shell_interactive() {
|
||||||
}
|
}
|
||||||
|
|
||||||
# ╭──────┬─────╮
|
# ╭──────┬─────╮
|
||||||
# │ main │ log │
|
# │ core │ log │
|
||||||
# ╰──────┴─────╯
|
# ╰──────┴─────╯
|
||||||
|
|
||||||
__rwx_log() {
|
__rwx_log() {
|
||||||
|
@ -54,7 +46,7 @@ __rwx_log() {
|
||||||
}
|
}
|
||||||
|
|
||||||
# ╭──────┬──────╮
|
# ╭──────┬──────╮
|
||||||
# │ main │ find │
|
# │ core │ find │
|
||||||
# ╰──────┴──────╯
|
# ╰──────┴──────╯
|
||||||
|
|
||||||
# find directory’s files by extension
|
# find directory’s files by extension
|
||||||
|
@ -81,7 +73,7 @@ rwx_find_shell() {
|
||||||
}
|
}
|
||||||
|
|
||||||
# ╭──────┬─────╮
|
# ╭──────┬─────╮
|
||||||
# │ main │ ifs │
|
# │ core │ ifs │
|
||||||
# ╰──────┴─────╯
|
# ╰──────┴─────╯
|
||||||
|
|
||||||
rwx_ifs_set() {
|
rwx_ifs_set() {
|
||||||
|
@ -96,19 +88,20 @@ rwx_ifs_unset() {
|
||||||
}
|
}
|
||||||
|
|
||||||
# ╭──────┬────────╮
|
# ╭──────┬────────╮
|
||||||
# │ main │ source │
|
# │ core │ source │
|
||||||
# ╰──────┴────────╯
|
# ╰──────┴────────╯
|
||||||
|
|
||||||
rwx_source() {
|
rwx_source() {
|
||||||
local path="${1}"
|
local path="${1}"
|
||||||
[ -d "${path}" ] ||
|
[ -d "${path}" ] ||
|
||||||
return 1
|
return 1
|
||||||
local count module
|
local count module modules
|
||||||
|
modules="$(rwx_find_shell "${path}" "${RWX_MAIN_NAME}")"
|
||||||
|
rwx_ifs_set
|
||||||
count=0
|
count=0
|
||||||
__rwx_log "" \
|
__rwx_log "" \
|
||||||
". ${path}"
|
". ${path}"
|
||||||
rwx_ifs_set
|
for module in ${modules}; do
|
||||||
for module in $(rwx_find_shell "${path}" "${RWX_MAIN_NAME}"); do
|
|
||||||
count=$((count + 1))
|
count=$((count + 1))
|
||||||
__rwx_log "$(printf "%02d" "${count}") ${module%.sh}"
|
__rwx_log "$(printf "%02d" "${count}") ${module%.sh}"
|
||||||
module="${path}/${module}"
|
module="${path}/${module}"
|
||||||
|
@ -118,9 +111,9 @@ rwx_source() {
|
||||||
rwx_ifs_unset
|
rwx_ifs_unset
|
||||||
}
|
}
|
||||||
|
|
||||||
# ╭──────╮
|
# ╭──────┬──────╮
|
||||||
# │ main │
|
# │ core │ main │
|
||||||
# ╰──────╯
|
# ╰──────┴──────╯
|
||||||
|
|
||||||
# run initial steps
|
# run initial steps
|
||||||
rwx_main() {
|
rwx_main() {
|
||||||
|
@ -131,13 +124,33 @@ rwx_main() {
|
||||||
fi
|
fi
|
||||||
# user root
|
# user root
|
||||||
rwx_source "${RWX_SELF_USER}"
|
rwx_source "${RWX_SELF_USER}"
|
||||||
# context / command
|
#
|
||||||
if [ -n "${RWX_COMMAND_NAME}" ]; then
|
local argument
|
||||||
"${RWX_SELF_COMMAND}${RWX_COMMAND_NAME}" "${@}"
|
argument="$(echo "${0}" | sed "s|^-||")"
|
||||||
# context / shell
|
case "${argument}" in
|
||||||
else
|
"bash" | \
|
||||||
rwx_self_init
|
"dash" | \
|
||||||
|
"sh")
|
||||||
|
# run interactive extras
|
||||||
|
if rwx_shell_interactive; then
|
||||||
|
# check format
|
||||||
|
rwx_log
|
||||||
|
rwx_shfmt "${RWX_ROOT_SYSTEM}"
|
||||||
|
# check syntax
|
||||||
|
rwx_log
|
||||||
|
rwx_shellcheck "${RWX_ROOT_SYSTEM}"
|
||||||
|
# help
|
||||||
|
rwx_log
|
||||||
|
rwx_self_help
|
||||||
fi
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
local function name
|
||||||
|
name="$(basename "${argument}")"
|
||||||
|
function="${RWX_SELF_COMMAND}${name}"
|
||||||
|
"${function}" "${@}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
# run main function
|
# run main function
|
||||||
|
|
43
sh/self.sh
43
sh/self.sh
|
@ -1,7 +1,3 @@
|
||||||
# ╭──────┬──────────╮
|
|
||||||
# │ self │ commands │
|
|
||||||
# ╰──────┴──────────╯
|
|
||||||
|
|
||||||
# get commands from root
|
# get commands from root
|
||||||
rwx_self_commands() {
|
rwx_self_commands() {
|
||||||
grep \
|
grep \
|
||||||
|
@ -12,10 +8,6 @@ rwx_self_commands() {
|
||||||
sed "s|^${RWX_SELF_COMMAND}||"
|
sed "s|^${RWX_SELF_COMMAND}||"
|
||||||
}
|
}
|
||||||
|
|
||||||
# ╭──────┬───────────╮
|
|
||||||
# │ self │ functions │
|
|
||||||
# ╰──────┴───────────╯
|
|
||||||
|
|
||||||
# get functions from root
|
# get functions from root
|
||||||
rwx_self_functions() {
|
rwx_self_functions() {
|
||||||
grep \
|
grep \
|
||||||
|
@ -25,10 +17,6 @@ rwx_self_functions() {
|
||||||
cut --delimiter "(" --fields 1
|
cut --delimiter "(" --fields 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# ╭──────┬──────╮
|
|
||||||
# │ self │ help │
|
|
||||||
# ╰──────┴──────╯
|
|
||||||
|
|
||||||
# output help message
|
# output help message
|
||||||
rwx_self_help() {
|
rwx_self_help() {
|
||||||
rwx_log \
|
rwx_log \
|
||||||
|
@ -37,29 +25,6 @@ rwx_self_help() {
|
||||||
" u__… = user"
|
" u__… = user"
|
||||||
}
|
}
|
||||||
|
|
||||||
# ╭──────┬──────╮
|
|
||||||
# │ self │ init │
|
|
||||||
# ╰──────┴──────╯
|
|
||||||
|
|
||||||
rwx_self_init() {
|
|
||||||
# run interactive extras
|
|
||||||
if rwx_shell_interactive; then
|
|
||||||
# check format
|
|
||||||
rwx_log
|
|
||||||
rwx_shfmt "${RWX_ROOT_SYSTEM}"
|
|
||||||
# check syntax
|
|
||||||
rwx_log
|
|
||||||
rwx_shellcheck "${RWX_ROOT_SYSTEM}"
|
|
||||||
# help
|
|
||||||
rwx_log
|
|
||||||
rwx_self_help
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# ╭──────┬─────────╮
|
|
||||||
# │ self │ install │
|
|
||||||
# ╰──────┴─────────╯
|
|
||||||
|
|
||||||
_rwx_cmd_rwx_install() { rwx_self_install "${@}"; }
|
_rwx_cmd_rwx_install() { rwx_self_install "${@}"; }
|
||||||
rwx_self_install() {
|
rwx_self_install() {
|
||||||
local target="${1}"
|
local target="${1}"
|
||||||
|
@ -81,10 +46,6 @@ rwx_self_install() {
|
||||||
rwx_link "${file}" "${RWX_MAIN_PATH}"
|
rwx_link "${file}" "${RWX_MAIN_PATH}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# ╭──────┬────────╮
|
|
||||||
# │ self │ subset │
|
|
||||||
# ╰──────┴────────╯
|
|
||||||
|
|
||||||
rwx_self_subset() {
|
rwx_self_subset() {
|
||||||
local argument path
|
local argument path
|
||||||
for argument in "${@}"; do
|
for argument in "${@}"; do
|
||||||
|
@ -100,10 +61,6 @@ rwx_self_subset() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# ╭──────┬───────╮
|
|
||||||
# │ self │ write │
|
|
||||||
# ╰──────┴───────╯
|
|
||||||
|
|
||||||
rwx_self_write() {
|
rwx_self_write() {
|
||||||
local target="${1}"
|
local target="${1}"
|
||||||
if [ -n "${target}" ]; then
|
if [ -n "${target}" ]; then
|
||||||
|
|
Loading…
Add table
Reference in a new issue