Problema Scripting

Puede ser quizá algo muy simple, quizá amerite leer buena biblografía, cosa que no he encontrado, sino no estaria posteando aca.
No es primera vez que hago un Script pero no estoy muy familiarizado con todos los parametros, variables y funciones. Lo que quiero es hacer un script que termine con la ejecución de programa por ejemplo cambiar compiz por otro manejador de ventanas o terminar xcompmgr. Luego iniciar un programa con wine por ejemplo. Hasta ahi lo domino perfectamente. Aqui viene la pregunta: Dentro de este script que estoy haciendo si seguimos la secuencia:

1.- Se termina el compositor
2.- Se ejecuta un programa con wine

¿Cómo sería un tercer paso en que se vuelva a iniciar el compositor una vez terminada la ejecución del programa?

No lo he hecho con bash pero en MS-DOS sí y la idea es usar 2 archivos separados:

Dentro del archivo1 se invoca al archivo2 mediante una función de llamada (call), una vez que el proceso en el archivo2 ha finalizado el control se devuelve automáticamente al archivo que lo invocó, es decir al archivo1.

Así que en debe haber una manera similar (o seguramente mejor) para lo que buscas. Sé que MS-DOS y Bash no son lo mismo, pero comparto la idea.

En estos enlaces yo encuentro muchos scripts y explicaciones de los comandos:

http://www.commandlinefu.com/
http://linuxcommand.org/
http://www.shell-fu.org/
http://www.ss64.com/

Saludos,
Sidd.

moecraft escribió:

Puede ser quizá algo muy simple, quizá amerite leer buena biblografía, cosa que no he encontrado, sino no estaria posteando aca.
No es primera vez que hago un Script pero no estoy muy familiarizado con todos los parametros, variables y funciones. Lo que quiero es hacer un script que termine con la ejecución de programa por ejemplo cambiar compiz por otro manejador de ventanas o terminar xcompmgr. Luego iniciar un programa con wine por ejemplo. Hasta ahi lo domino perfectamente. Aqui viene la pregunta: Dentro de este script que estoy haciendo si seguimos la secuencia:

1.- Se termina el compositor
2.- Se ejecuta un programa con wine

¿Cómo sería un tercer paso en que se vuelva a iniciar el compositor una vez terminada la ejecución del programa?

No he manejado wine, pero imagino que símplemente tienes que poner la orden para que se inicie el compositor después del wine, en ese mismo script.

Podes usar la salida de error standard para condicionar la ejecución de un programa .$?

Con las condicionales se hace de todo. Tal vez te ayude un 'man test'.
No he comprendido muy bien lo que quieres hacer pero bueno de todas maneras te pongo como yo haria para ejecutar un programa tras otro en tanto que no haya error de salida del ultimo ejecutado. Seria algo asi:

#!/bin/bash

1er programa;

if [ $? -eq 0 ]; then
echo "Good!";
else
echo "No se termino correctamente el programa";
fi

No se si es algo asi lo que quieres, es que hay muchas maneras de hacer las cosas, en este caso estoy utilizando la tecnica a la que se refiere Caliban con sdterr o salida estandar de errores.
De todas maneras si crees que no hay problemas puedes poner esa parte de tu codigo y asi todos comprenderiamos mejor y te podriamos ayudar de una manera mas eficiente.
Saludos.