Estoy escribiendo una secuencia de comandos bash para redirigir la salida de otro comando a la ubicación correcta. Básicamente, cuando se invoca el script desde un shell/línea de comando, quiero enviar el resultado a STDOUT. Pero, cuando el script bash se ejecuta desde alguna otra aplicación (por ejemplo, otro script bash, alguna aplicación o, en mi caso, desde el plugin awesome-prompt en mi Awesome Window Manager) quiero redirigir el resultado a otro lugar.Comprueba si se invocó la secuencia de comandos bash desde una shell u otra secuencia de comandos/aplicación
¿Hay alguna manera en bash de ver cómo se invoca un script?
La otra forma de verlo es, ¿por qué no utiliza un script de envoltura que canaliza la salida? Entonces, Awesome Window Manager llama a script-wrapper.sh, y contiene la línea "./script.sh >> awesome.log" – laher
Como usuario de scripts de shell, prefiero que los scripts no intenten ser demasiado ingeniosos . Si quiero el resultado en un archivo, soy perfectamente capaz de ponerlo en un archivo yo mismo. Proporcionar un envoltorio o una bandera a la secuencia de comandos para enviar la salida a un archivo (por ejemplo, '-o nombre de archivo') sería ideal, fácil, pero explícito. –
Buenos puntos, pero quiero que esto sea simple. El comando en cuestión es Taskwarrior. Solo quiero poder escribir 'task add blah blah' y no preocuparme donde lo escribí. Si necesito escribir una serie de redirecciones u opciones cada vez, no lo usaré porque no es lo suficientemente conveniente. –