¿Capturar salida desde el comando git?
Estoy escribiendo un script para automatizar la configuración de nuevos proyectos para mí.
Esto incluye bajar un repositorio github.
Lo que quiero hacer es tener algo de salida de mi script, luego llamargit clone $repo
Quiero mostrar la salida de ese comando mientras se está ejecutando, pero luego, cuando se ha ejecutado, si se ha ejecutado exitosamente, reemplaza su salida (note solo la salida de los comandos de git, todavía quiero que la salida de antes esté allí) conrepository successfully cloned
y si falla, simplemente deja la salida allí, e imprimerepository cloning failed
.
¿Cómo puedo hacer esto?
A continuación se muestra mi guión actual (bastante simple).
#! /bin/bash
# -p project name
templateurl="[email protected]:xxx/xxx-site-template.git"
while getopts ":p:" opt; do #eventually I'll add more options here
case $opt in
p)
project=$OPTARG
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
:)
echo "Option -$OPTARG requires an argument." >&2
exit 1
;;
esac
done
if [ -z "$project" ]; then
echo "Project name required"
exit 1
fi
clear
echo "|==========================|"
echo "| New xxx Project Creator |"
echo "|==========================|"
echo "Project: $project"
if [ -d "$project" ]; then
echo "Directory $project already exists!"
exit 1
fi
mkdir $project
if [ ! -d "$project" ]; then
echo "Failed to create project directory!"
exit 1
fi
echo "Cloning xxx Template repository"
git clone $templateurl $project