#!/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 # #----------------------------------------------------------# # 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