Bueno ya logré solucionar el problema y les comparto el remedio para el script.
La cosa es que después de cada opción del CASE IN yo utilicé una llamada al mismo bash o sea sh networking.sh para que no finalizara el programa y en cambio me devolviera al menú principal así por ejemplo:
2)
cat networking.csv
echo "presione intro para continuar"
read
sh networking.sh
;;
Resulta y pasa que cuando el "sh networking.sh" se ejecuta el programa principal no ha finalizado y esto provoca que el script entre en un bucle peligroso que consume recursos.
La Solución...La solución es simple, quitar todos los "sh networking.sh" y ponerlo fuera de la estructura CASE IN.
El nuevo código sería de la siguiente forma:
#/bin/bash
clear
echo "***************************************"
echo "1.- Probar Si una ip está en línea o no"
echo "2.- Abrir archivo CSV "
echo "3.- Salir "
echo "4.- About "
echo "***************************************"
read opcion
case $opcion in
1)
echo "escriba una dirección ip: "
read ip_address >> networking.csv
date >> networking.csv
ping -c 1 $ip_address >> networking.csv
if [ $? -eq 0 ]; then
echo "La dirección IP $ip_address está en línea"
echo "La dirección IP $ip_address está en línea" >> networking.csv
echo "presione intro para continuar"
read
else
echo "La dirección IP $ip_address no está en línea"
echo "La dirección IP $ip_address no está en línea" >> networking.csv
echo "presione intro para continuar"
read
fi
date >> networking.csv
;;
2)
cat networking.csv
echo "presione intro para continuar"
read
;;
3)
;;
4)
echo "Script escrito por socorroz"
echo "GNU LINUX"
echo "2023"
echo
echo "Presione intro para continuar"
read
;;
*)
echo "Opción no válida"
echo "Escoja una opción 1, 2, 3 o 4"
sleep 1
;;
esac
./networking.sh