Estoy tratando de hacer un script modular. Tengo varios scripts / comandos que se invocan desde un solo script.
Quiero prefijar la salida de cada comando por separado.
Examinar:
Mis archivos son allcommands.sh / command1.sh / command2.sh
salidas command1.sh
file exists
file moved
salidas command2.sh
file copied
file emptied
allcommands.sh ejecuta los scripts command1.sh y command2.sh
Quiero prefijar cada salida de estos dos scripts como este:
[command1] file exists
[command1] file moved
[command2] file copied
[command2] file emptied
linux
command-line
bash
shell
bash-scripting
Ivan Dokov
fuente
fuente

sed "s/\^/command1 /"sedfuncionalidad. Lo siento.Respuestas:
Supongo que lo que está haciendo en allcommands.sh es:
Solo relaciona con
fuente
Un ejemplo mínimo de
allcommands.sh:Con
command1.shycommand2.shejecutable y en el mismo directorio que soloechocontiene las cadenas deseadas, esto da la salida del shell:sedDesglose rápidos/ingresa al modo "coincidencia y reemplazo de patrones regexp"^/significa "coincidir con el comienzo de cada línea"${i%.sh}sucede en el contexto de shell y significa "$i, pero elimina el sufijo.sh"['"${i%.sh}"'] /al principio imprime a[, luego sale del contexto citado para tomar la$ivariable del shell, luego vuelve a ingresar para terminar con]y un espacio.fuente