-
Notifications
You must be signed in to change notification settings - Fork 223
/
Copy pathinit_search
84 lines (60 loc) · 1.82 KB
/
init_search
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
74
75
76
77
78
79
80
81
82
83
84
#!/usr/bin/env bash
# shellcheck shell=bash
# ``````````````````````````````````````````````````````````````````````````````
# Function name: init_search()
#
# Description:
# Init search module.
#
# Usage:
# init_search
#
# Examples:
# init_search
#
function init_search() {
# shellcheck disable=SC2034
local _FUNCTION_ID="init_search"
local _STATE=0
local _spattern="$1"
# shellcheck disable=SC2034
local _search_stack=()
_cr="-35.35"
# shellcheck disable=SC2034,SC2154
_static_menu="${_tmp}/.static.menu"
: >"${_static_menu}"
printf "\\n \\e[1;38m%-25.25s %${_cr}s %s\\e[m\\n %-25.25s %${_cr}s %s\\n\\n" \
"Module" \
"Alias" \
"Nmap Parameters" \
"------" \
"-----" \
"---------------" >> "${_static_menu}"
# shellcheck disable=SC2154
for _svar in "${_profiles_list[@]}" ; do
# shellcheck disable=SC2034
_key_alias=$(echo "$_svar" | awk -v FS="(;|;)" '{print $1}')
# shellcheck disable=SC2034
_key_cmd=$(echo "$_svar" | awk -v FS="(;|;)" '{print $2}')
# shellcheck disable=SC2034
_key_mod=$(echo "$_svar" | awk -v FS="(;|;)" '{print $3}')
if [[ "$_key_alias" == *"$_spattern"* ]] ; then
_search_stack+=("${_key_mod};${_key_alias};${_key_cmd}")
printf " \\e[1;36m%-25.25s\\e[m \\e[1;34m%${_cr}s\\e[m %s\\n" \
"$_key_mod" \
"$_key_alias" \
"$_key_cmd" >> "${_static_menu}"
elif [[ "$_key_cmd" == *"$_spattern"* ]] ; then
_search_stack+=("${_key_mod};${_key_alias};${_key_cmd}")
printf " \\e[1;36m%-25.25s\\e[m \\e[1;34m%${_cr}s\\e[m %s\\n" \
"$_key_mod" \
"$_key_alias" \
"$_key_cmd" >> "${_static_menu}"
fi
done
unset _svar
cat "${_static_menu}"
echo
: >"${_static_menu}"
return $_STATE
}