
New IP route output appends UID to the result, causing the value to be set to that instead of the IP. Fix it by ignoring the last two appended UID results
39 lines
1.1 KiB
Bash
39 lines
1.1 KiB
Bash
#!/bin/ash
|
|
|
|
# Default the TZ environment variable to UTC.
|
|
TZ=${TZ:-UTC}
|
|
export TZ
|
|
|
|
# Set environment variable that holds the Internal Docker IP
|
|
INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}')
|
|
export INTERNAL_IP
|
|
|
|
# Switch to the container's working directory
|
|
cd /home/container || exit 1
|
|
|
|
# Print Java version
|
|
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mjava -version\n"
|
|
java -version
|
|
|
|
|
|
# Print Python version
|
|
if command -v python &> /dev/null
|
|
then
|
|
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mpython --version\n"
|
|
python --version
|
|
else
|
|
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mpython3 --version\n"
|
|
python3 --version
|
|
fi
|
|
|
|
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
|
|
# variable format of "${VARIABLE}" before evaluating the string and automatically
|
|
# replacing the values.
|
|
PARSED=$(echo "${STARTUP}" | sed -e 's/{{/${/g' -e 's/}}/}/g' | eval echo "$(cat -)")
|
|
|
|
# Display the command we're running in the output, and then execute it with the env
|
|
# from the container itself.
|
|
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0m%s\n" "$PARSED"
|
|
# shellcheck disable=SC2086
|
|
exec env ${PARSED}
|