Ayuda con script bash

Imagen de kfh1992
0 puntos

Hola , tengo el siguiente menu creado en bash., resulta que quiero ejecutar otro bash xd se entiende? Ejecutar un bash dentro de otro bash

#!/bin/bash
clear
while [ "$opcion" != 3 ]
do
echo " Escoja el sistema operativo "
echo "1 - Windows"
echo "2 - Ubuntu"
echo "3 - Salir"
read -p "Seleccione una opcion [1 - 4]" opcion
case $opcion in
1) cat windows;;
2) cat ubuntu;;
4) exit 0;;
*) echo "$opc es una opcion invalida.";
echo "Presiona una tecla para continuar...";
read foo;;
esac
done

Imagen de Scorpyo82
+1
0
-1

tengo el siguiente menu creado en bash., resulta que quiero ejecutar otro bash xd se entiende? Ejecutar un bash dentro de otro bash

Pues.... resulta que yo no lo entiendo jejeje

A ver, bash es un intérprete de órdenes, si lo que quieres es lanzar dos intérpretes de bash al mismo tiempo si que se puede, menuda sería la cosa si no se pudiese.
Pero eso de uno dentro de otro ...... supongo que lo que quieres es que uno y otro se comuniquen entre sí.
Yo no soy para nada un experto, pero creo que para eso lo mejor es ayudarse de variables exportadas.

Aún así, no se exactamente lo que pretendes.... si me das más pistas te hecho una mano.

Un saludo.

+1
0
-1

Si entro en Window$ estoy más tenso que en el bautizo de un gremlin.
Linux user: 545.017
Por favor, si solucionas el hilo añade [Solucionado] al título.

Imagen de kfh1992
+1
-1
-1

Hola, pues lo que quiero es que en el menu de opcines, si selecciona 1 , pues vaya a un fichero que contenga esos datos (un fichero bash igualmente) y se quede ahy, como un enlace.

+1
-1
-1
Imagen de Scorpyo82
+1
0
-1

Pues es muy posible que te valga con ejecutar ese bash....

sería algo como:

#!/bin/bash
clear
while [ "$opcion" != 3 ]
do
echo " Escoja el sistema operativo "
echo "1 - Windows"
echo "2 - Ubuntu"
echo "3 - Salir"
read -p "Seleccione una opcion [1 - 4]" opcion
case $opcion in
1) ./script-windows&;;
exit
2) ./script-ubuntu&;;
exit
4) exit 0;;
*) echo "$opc es una opcion invalida.";
echo "Presiona una tecla para continuar...";
read foo;;
esac
done

Pero no me hagas mucho caso... haz alguna prueba lanzando otros scripts simples.

Un saludo.

+1
0
-1

Si entro en Window$ estoy más tenso que en el bautizo de un gremlin.
Linux user: 545.017
Por favor, si solucionas el hilo añade [Solucionado] al título.

Imagen de kfh1992
+1
-1
-1

Holaaa !! Pues no no se ejecuta el comando,
Me vuelvo a explicar:
Tengo varios archivos compilados (menu.out / windows.out / ubuntu.out) Estos archivos se compilan correctamente.
Ahora lo que quiero es que si presiono a 1 se abra el fichero windows.out , si presiono 2 ubuntu.out (Entendiendo como abrir ejectuar dicho fichero).

Saludos!

+1
-1
-1
Imagen de Scorpyo82
+1
0
-1

Bastaría con poner la ruta completa del archivo, o la relativa.

Ejemplo:
Suponiendo que quieres ejecutar el archivo linux.out que se encuentre en la carpeta Proyecto situada en el escritorio de tu usuario y que la ruta actual de la bash es la de tu carpeta personal sería algo así:

Ejecutar con ruta relativa:
. /Escritorio/Proyecto/linux.out

Ejecutar con ruta completa:

/home/tu-usuario/Escritorio/Proyecto/linux.out

Un saludo.

+1
0
-1

Si entro en Window$ estoy más tenso que en el bautizo de un gremlin.
Linux user: 545.017
Por favor, si solucionas el hilo añade [Solucionado] al título.