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.
		
		
		
		
		
			
		
			
				
					59 lines
				
				1.9 KiB
			
		
		
			
		
	
	
					59 lines
				
				1.9 KiB
			| 
								 
											2 years ago
										 
									 | 
							
								#!/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
							 |