Instructions to set up a basic LAMP+SSH server environment
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.
 
 

51 lines
1.7 KiB

#!/bin/bash
# SCRIPT DESCRIPTION:
# This bash script lists all commands/executables included in a package defined in PACKAGES array below.
###################################################
# System packages to look for commands in:
PACKAGES=(coreutils findutils util-linux)
# Debian-specific command syntax for listing files belonging to a package
# This syntax does not apply in other Linux distributions using other than dpkg solutions.
LIST_COMMAND='dpkg -L'
###################################################
# Loop through each package listed in PACKAGES bash array above
# For each package, use another loop to go through each file listed in pathes defined by file mimetype
#
for pkg in ${PACKAGES[*]}; do
for file in $($LIST_COMMAND $pkg); do
WHATBIN=$(file --mime-type $file | grep x\-sharedlib | awk -F ":" '{print $1}' | sed '/\.so/d' | awk -F '/' '{print $(NF)}')
# whatis command gets confused with an empty input. Avoid these situations.
if [[ ! -z $WHATBIN ]]; then
whatis $WHATBIN | sed 's/([0-9a-zA-Z])//'
fi
done
done | sort
###################################################
## DEPRECATED
## All bin folders listed in PATH global variable.
## Remove quotation marks with sed
## Replace : with |\ for grep command
## Add each directory path into the exdirs array
## Start from array index 0 (dirnum) and increase the number in the loop with 'let dirnum++' command
##
#dirnum=0
#for exdir in $(export -p | grep 'declare -x PATH' | awk -F '=' '{print $2}' | sed 's/"//g' | tr ':' '|\'); do
# exdirs[$dirnum]=$exdir
# let dirnum++
#done
## DEPRECATED
## DEPRECATED
# for cmd in $($LIST_COMMAND $pkg | grep -E "${exdirs[*]}" | awk -F '/' '{print $(NF)}'); do
# whatis $cmd | sed 's/([0-9a-zA-Z])//'
# done | sort
## DEPRECATED