Przechwytuje wyjście z polecenia git?
Piszę skrypt, aby zautomatyzować tworzenie nowych projektów dla mnie.
obejmuje to ściąganie repozytorium github.
To, co chcę zrobić, to wydrukować trochę z mojego skryptu, a następnie zadzwonićgit clone $repo
Chcę pokazać dane wyjściowe z tego polecenia, gdy jest uruchomione, ale kiedy uruchomi się, jeśli uruchomi się pomyślnie, zastąp to wyjście (zauważ tylko wyjście poleceń git, nadal chcę, aby wyjście wcześniej było tam) za pomocąrepository successfully cloned
a jeśli nie, po prostu zostaw wyjście i wydrukujrepository cloning failed
.
Jak mogę to zrobić?
Poniżej znajduje się mój obecny (raczej prosty) skrypt.
#! /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