Script to change Computername/hostname causing bizarre Terminal behavior

In the comments, @MorganR wondered if the code that reads from the CSV file was including a strange character within $compName.

One way to test for odd, perhaps non-printable characters is to use od. It has an obscure name (stands for "octal dump"), but it is useful. It shows the detail of each character in an input stream.

I usually start by using -c argument, which causes od to output each character detail as "C-style escaped characters"... there are other arguments to output as hex, octal (still occasionally useful!), etc.

For example (notice the normally invisible \n is shown):

$ echo "foo" | od -c
0000000    f   o   o  \n                                                
0000004

So, if that makes sense, my suggestion is: try adding the line echo $compName | od -c to the script after the "loop through the CSV" section.

In the comments, the issue has turned out to be an unexpected \r character. I think the likely cause for this is that the CSV file has CRLF (=\r\n) line endings (was it created on a Windows system perhaps?), but the read ser loc command in the script is expecting just LF (=\n).