mirror of
https://github.com/bigbeartechworld/big-bear-scripts.git
synced 2026-03-31 06:33:56 -04:00
This commit refactors all the shell scripts to use `#!/usr/bin/env bash` instead of `#!/bin/bash`. This change ensures that the scripts will run with the system's default Bash interpreter, even if it is not located at the standard `/bin/bash` path.
52 lines
1.5 KiB
Bash
52 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Function to combine container info for display
|
|
combine_container_info() {
|
|
# Function to combine container information
|
|
|
|
# Parameters:
|
|
# $1: id - The container id
|
|
# $2: name - The container name
|
|
# $3: image - The container image
|
|
|
|
local id="$1"
|
|
local name="$2"
|
|
local image="$3"
|
|
|
|
# Check if name is empty
|
|
if [ -z "$name" ]; then
|
|
echo "$id ($image)" # Print container id and image if name is empty
|
|
else
|
|
echo "$name" # Print container name if it is not empty
|
|
fi
|
|
}
|
|
|
|
# Fetch all containers info, including those that are not running
|
|
CONTAINERS=()
|
|
|
|
# Read container information from docker command output
|
|
while IFS= read -r line; do
|
|
CONTAINERS+=("$line")
|
|
done < <(
|
|
# Get container information from docker ps command
|
|
docker ps -a --format "{{.ID}}|{{.Names}}|{{.Image}}" | while IFS="|" read -r id name image; do
|
|
# Call the combine_container_info function
|
|
combine_container_info "$id" "$name" "$image"
|
|
done
|
|
)
|
|
|
|
# Prompt the user to select a container
|
|
echo "Select a container to fetch logs:"
|
|
|
|
# Loop through the available container options
|
|
select CONTAINER_CHOICE in "${CONTAINERS[@]}"; do
|
|
# Extract the container ID/name from the selected option
|
|
CONTAINER_ID_OR_NAME=$(echo $CONTAINER_CHOICE | awk '{print $1}')
|
|
|
|
# Fetch and display the logs for the selected container
|
|
docker logs $CONTAINER_ID_OR_NAME
|
|
|
|
# Break out of the loop after fetching and displaying the logs
|
|
break
|
|
done
|