@@ -111,13 +111,13 @@ if [[ "${1:-}" == "--add" ]]; then
111111 exit 1
112112 fi
113113 LINUX_USER=" $2 "
114- GITHUB_USER=" $3 "
114+ GITHUB_USER=" ${3,,} " # GitHub usernames are case-insensitive; normalise to lowercase
115115
116116 mkdir -p " $( dirname " ${CONFIG_FILE} " ) "
117117 touch " ${CONFIG_FILE} "
118118
119- # Check for duplicate
120- if grep -qE " ^\s*${LINUX_USER} \s+${GITHUB_USER} \s*$" " ${CONFIG_FILE} " ; then
119+ # Check for duplicate (case-insensitive on github username)
120+ if grep -qiE " ^\s*${LINUX_USER} \s+${GITHUB_USER} \s*$" " ${CONFIG_FILE} " ; then
121121 log_warn " Mapping already exists: ${LINUX_USER} ${GITHUB_USER} "
122122 exit 0
123123 fi
@@ -140,19 +140,19 @@ if [[ "${1:-}" == "--remove" ]]; then
140140 exit 1
141141 fi
142142 LINUX_USER=" $2 "
143- GITHUB_USER=" $3 "
143+ GITHUB_USER=" ${3,,} " # GitHub usernames are case-insensitive; normalise to lowercase
144144
145145 if [[ ! -f " ${CONFIG_FILE} " ]]; then
146146 log_error " Config file not found: ${CONFIG_FILE} "
147147 exit 1
148148 fi
149149
150- if ! grep -qE " ^\s*${LINUX_USER} \s+${GITHUB_USER} \s*$" " ${CONFIG_FILE} " ; then
150+ if ! grep -qiE " ^\s*${LINUX_USER} \s+${GITHUB_USER} \s*$" " ${CONFIG_FILE} " ; then
151151 log_warn " Mapping not found: ${LINUX_USER} ${GITHUB_USER} "
152152 exit 1
153153 fi
154154
155- sed -i " /^\s*${LINUX_USER} \s\+${GITHUB_USER} \s*$/d " " ${CONFIG_FILE} "
155+ sed -i " /^\s*${LINUX_USER} \s\+${GITHUB_USER} \s*$/Id " " ${CONFIG_FILE} "
156156 log_info " Removed mapping: ${LINUX_USER} <- github:${GITHUB_USER} "
157157 log_info " Run 'sudo gh-sks' to apply changes immediately."
158158 exit 0
@@ -273,6 +273,9 @@ for line in "${LINES[@]}"; do
273273 continue
274274 fi
275275
276+ # GitHub usernames are case-insensitive; normalise to lowercase
277+ github_user=" ${github_user,,} "
278+
276279 # Verify the Linux user exists
277280 if ! id " ${linux_user} " & > /dev/null; then
278281 log_warn " Linux user '${linux_user} ' does not exist — skipping."
0 commit comments