#!/bin/bash ANSI_COLOR_RED="\033[0;31m" ANSI_COLOR_GREEN="\033[0;32m" ANSI_COLOR_RESET="\033[0m" PROJECT_DIR="$HOME/dotfiles" declare -A files_to_check=( [".zshrc"]="$HOME/.zshrc" [".bashrc"]="$HOME/.bashrc" [".emacs.el"]="$HOME/.emacs.el" ) for file_name in "${!files_to_check[@]}"; do target_path=${files_to_check[$file_name]} if [ ! -e "$target_path" ]; then echo -e "\n$ANSI_COLOR_RED Error: $file_name does not exist in $HOME.$ANSI_COLOR_RESET\n”" exit 1 fi cp "$target_path" "$PROJECT_DIR/${file_name}" done git add . git commit -m "Updated dotfiles" echo -e "$ANSI_COLOR_GREEN\n==== Files have been copied and committed to the Git repository.$ANSI_COLOR_RESET\n" git status