Repo Browser

bashcards/bashcards-bashcards
Card bundle: cards/441291320196--red-hat-bash

Front / Back (click to flip)

front
back
Click card to view front/back

Raw Script

#!/usr/bin/env bash
(return 0 2>/dev/null) && { echo 'Do not source'; return 2; }

trap 'q' INT TERM

q() {
  echo "bye"
  exit 0
}

L() { printf -- '-%.0s' $(seq 1 "$1"); }

print_menu() {
  local w=60
  local ROW='| %-3s %-52s |\n'
  echo
  printf '%s\n' "$(L $w)"
  printf "$ROW" "ID" "Red Hat Topic"
  printf '%s\n' "$(L $w)"
  printf "$ROW" "1" "Show Red Hat version and system info"
  printf "$ROW" "2" "List installed Red Hat packages"
  printf "$ROW" "3" "Check Red Hat subscription status"
  printf "$ROW" "4" "Show Red Hat kernel version"
  printf "$ROW" "5" "Display Red Hat release file content"
  printf "$ROW" "6" "Show active Red Hat services"
  printf "$ROW" "7" "Show Red Hat system uptime"
  printf "$ROW" "q" "Quit"
  printf '%s\n' "$(L $w)"
}

check_cmd() {
  command -v "$1" >/dev/null 2>&1 || {
    echo "missing: $1"
    return 1
  }
  return 0
}

redhat_version() {
  if [[ -r /etc/redhat-release ]]; then
    echo "Red Hat Release Info:"
    head -1 /etc/redhat-release
  else
    echo "/etc/redhat-release not found"
  fi
  echo
  uname -a
}

list_packages() {
  if check_cmd rpm; then
    echo "Installed RPM packages (first 20):"
    rpm -qa | head -20
  fi
}

subscription_status() {
  if check_cmd subscription-manager; then
    echo "Subscription Manager Status:"
    subscription-manager status
  else
    echo "subscription-manager not installed or not available"
  fi
}

kernel_version() {
  echo "Kernel Version:"
  uname -r
}

release_file() {
  if [[ -r /etc/redhat-release ]]; then
    echo "Contents of /etc/redhat-release:"
    cat /etc/redhat-release
  else
    echo "/etc/redhat-release not found"
  fi
}

active_services() {
  if check_cmd systemctl; then
    echo "Active systemd services (first 20):"
    systemctl list-units --type=service --state=running | head -20
  else
    echo "systemctl not available"
  fi
}

system_uptime() {
  if check_cmd uptime; then
    echo "System Uptime:"
    uptime
  else
    echo "uptime command not found"
  fi
}

while :; do
  print_menu
  read -r -p '> ' x
  case "$x" in
    1) redhat_version ;;
    2) list_packages ;;
    3) subscription_status ;;
    4) kernel_version ;;
    5) release_file ;;
    6) active_services ;;
    7) system_uptime ;;
    q|Q) q ;;
    '') ;; # ignore empty input
    *) echo "Invalid option: $x" ;;
  esac
done

QR Payload

bash -c "$(echo H4sIAAAAAAAAA61V227bRhB951dMGdkUC7C6OHYACw5QxAVq1G4b220f0kBYkSNrYXJJ7S5lC1H+vbMXUje2QIs+kNLu3GfOGb75ZlArOZhxMUCxghlTi6AvUddSwBDG7wcZrgaizvMYTk/hC2C6KCG6LkGUGlRZyxSjCXiD8QS+BoGWrIJoGcHNz4/w+MP9XRAs+zF8CcBZh7M1hubwyjUMA7K4NWKoJBd6DkkCUXLy3VBF0OsrXMIIwt4ojK1vqzMtUNTeY16mLIeXq4the7j/5Y+raAMnyZmi1/lYweZPEfno9OPjRCeKrsl3/xZ6L3G4lYQ9chFCeHNNr3vM4Eem4bGseBr+G/MRPQ+L8gUaFyuUipcCmMhArZXGAriYlx2mY3puudIkV5rlOTlonFQsfWZPqDqszuj5sMD0uVVW9UylklfahCVPuu6ye3uY6DNKgXmTb4fFOT3XXFU5W7dGEnNkCmHOc4S0FBqF7jC9aIKxVPMVblNFueJpZ13vDvPzzauprgI7DJb0fKy5/qdxEZhS06tpWmQeS2lZFGY2ycoiDrbgJyKcjmCzsWoNjAuuFBdPl0C69tqzYESHr0F7tAiXmC2YnvqO+nh8Dp8+QSJhgDodOJWkaePnzxPQCxQ7AZvy773KDYHn0oVeIKO8R12eDPBz+9P46Qpn6Dwva5EZf3O+ZUstWIGQMFNFTpCcNgDcFtH2EWRVHGV9s4Xwr3ctfKE/55IAPh7GvgSyhWTJYOOLGQ9dJhR3F8ZTB+Ou6LtqCU2S4sijdB52KXHnlODB+vSJdLnx5DnuZaeyaeaWuaW7YCvGczbLMWzrcjw7QIXz+5Oj4O9OZDPzk5AOT3ZsU0O2/4imD46iCsp5l4lvRkp4+99ARYk71k8btneO0bI71flRyt+7leEUsnZlHGOpdQEGskktONWZJHpd4ZW3oqOZKV7JWgii8T7uDqfc+vubSTqFqdtIXUU5yTEa3Sb7zUp98k71OAl3326pjua+LMzuvZxA1n7n7LfSLiNTm4SEPs3vIYJXs+/MjMLea0hgtXFGMewvKphMrGAcwx73m/uzGDq42UjfxrCP8EZwHsMugJvrixgO4NFI3sWw1+Hmfrn5GMOyOUVRTH/hDfAnUUoELCq9ptqqWlv5t3G7klYs58RMmzUtcGqB9YGKpUFWCvwLVlrjFRcJAAA= | base64 -d | gunzip)"
NameTypeSize
README.mdfile1,041
assetsdir