You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hestiacp/bin/v-search-command

59 lines
1.9 KiB

#!/bin/bash
# info: search for available commands
# options: ARG1 [ARG...]
#
# example: v-search-command web
#
# This function searches for available Hestia Control Panel commands
# and returns results based on the specified criteria.
# Originally developed for VestaCP by Federico Krum
# <https://github.com/FastDigitalOceanDroplets/VestaCP/blob/master/files/v-search-command>
#----------------------------------------------------------#
# Variables & Functions #
#----------------------------------------------------------#
# Includes
# shellcheck source=/etc/hestiacp/hestia.conf
source /etc/hestiacp/hestia.conf
# shellcheck source=/usr/local/hestia/func/main.sh
source $HESTIA/func/main.sh
# load config file
source_conf "$HESTIA/conf/hestia.conf"
#----------------------------------------------------------#
# Verifications #
#----------------------------------------------------------#
if [ $# -eq 0 ]; then
echo "ERROR: No search arguments specified."
echo "Usage: v-search-command ARG1 [ARG2] [ARG...]"
exit 1
fi
# Perform verification if read-only mode is enabled
check_hestia_demo_mode
#----------------------------------------------------------#
# Action #
#----------------------------------------------------------#
SearchResults=$(ls -a $BIN/ | sort)
TotalItems=$(ls -a $BIN/ | sort | wc -l)
for i; do
SearchResults=$(echo $SearchResults | tr " " "\n" | grep $i)
FoundItems=$(echo $SearchResults | tr " " "\n" | grep $i | wc -l)
done
if [ -z "$SearchResults" ]; then
echo "No available commands were found matching the specified criteria."
echo "There are a total of $TotalItems commands available."
else
echo "Command Search Results"
echo "================================="
echo $SearchResults | tr " " "\n"
echo "================================="
echo "Found $FoundItems matching items in $TotalItems commands."
fi
exit