|
@@ -753,16 +753,19 @@ if [[ -z $critical_mode ]]; then
|
|
|
# Check for BASH Shell
|
|
|
# This is a very "shity" method, but checking if file exists is very reliable
|
|
|
# If modified: this same script is in installer, general lib and verify
|
|
|
- # The second check is useful when logedin as root
|
|
|
- local ver_shell_pid=$(ps -aux | grep -E "${SUDO_USER:-${USER}}.*pts/0[ ]+S[s]?[ ]+" | grep -v "grep" | tail -n 1 | awk '{print $2}')
|
|
|
- [[ -z $ver_shell_pid || ! -f /proc/$ver_shell_pid/cmdline ]] && local ver_shell_pid=$(ps -aux | grep -E "$USER.*pts/0[ ]+S[s]?[ ]+" | tail -n 1 | awk '{print $2}')
|
|
|
- [[ -n $ver_shell_pid && -f /proc/$ver_shell_pid/cmdline ]] && local ver_shell_current=$(tr -d '\000' < /proc/$ver_shell_pid/cmdline)
|
|
|
- if [[ -n $ver_shell_current && $ver_shell_current != *"bash"* ]]; then
|
|
|
- # Should never be displayed because is blocked in general lib, but who knows!
|
|
|
- echo "${dim}- [WARNING] BASH Shell is required! ${dim}(${ver_shell_current}) ${end}${red}"
|
|
|
- local ver_six_war="1"
|
|
|
- elif [[ -z $ver_shell_current ]]; then
|
|
|
- echo "${blu}${dim}- [INFO] Shell check fails to retrieve data! ${end}${red}"
|
|
|
+ local ver_shell_tty=$(echo $(tty) | grep -Eo "pts/[0-9]+")
|
|
|
+ if [[ -n $ver_shell_tty ]]; then
|
|
|
+ local ver_shell_pid=$(ps -au | grep -E "${ver_shell_tty}+[ ]+S[s]?[ ]+" | tail -n 1 | awk '{print $2}')
|
|
|
+ [[ -n $ver_shell_pid && -f /proc/$ver_shell_pid/cmdline ]] && local ver_shell_current=$(tr -d '\000' < /proc/$ver_shell_pid/cmdline)
|
|
|
+ [[ -n $ver_shell_pid && -f /proc/$ver_shell_pid/status ]] && ver_shell_status=$(grep -Eo '^Name:.*bash.*' /proc/$ver_shell_pid/status) # Double check!!!
|
|
|
+
|
|
|
+ if [[ -n $ver_shell_current && $ver_shell_current != *"bash"* && -z $ver_shell_status ]]; then
|
|
|
+ # Should never be displayed because is blocked in general lib, but who knows!
|
|
|
+ echo "${dim}- [WARNING] BASH Shell is required! ${dim}(${ver_shell_current}) ${end}${red}"
|
|
|
+ local ver_six_war="1"
|
|
|
+ elif [[ -z $ver_shell_current ]]; then
|
|
|
+ echo "${blu}${dim}- [INFO] Shell check fails to retrieve data! ${end}${red}"
|
|
|
+ fi
|
|
|
fi
|
|
|
|
|
|
# Check for updates
|