Um simples loop de shell:
for subdir in .gradle .m2 .mvn .sbt .ivy2; do
mkdir -p "$SHARED_VOL/track/$TRACK/$subdir"
rm -rf "$HOME/$subdir"
ln -s "$SHARED_VOL/track/$TRACK/$subdir" "$HOME"
done
Se você quiser usar uma matriz separada em bash
, por exemplo:
dirs=( .gradle .m2 .mvn .sbt .ivy2 )
for subdir in "${dirs[@]}"; do
mkdir -p "$SHARED_VOL/track/$TRACK/$subdir"
rm -rf "$HOME/$subdir"
ln -s "$SHARED_VOL/track/$TRACK/$subdir" "$HOME"
done
Ou, para /bin/sh
:
set -- .gradle .m2 .mvn .sbt .ivy2
for subdir do
mkdir -p "$SHARED_VOL/track/$TRACK/$subdir"
rm -rf "$HOME/$subdir"
ln -s "$SHARED_VOL/track/$TRACK/$subdir" "$HOME"
done
Para maior segurança, você pode querer set -u
e / ou set -e
antes de executar esses loops. set -e
terminaria o script se um erro ocorresse, e set -u
trataria a expansão de uma variável não definida como um erro (para capturar qualquer nome de variável com erros ortográficos, por exemplo).