The kde.sh file says if ! echo $PATH | grep -q $kdepath; then This is a bash-specific shellism. It is VITALLY IMPORTANT that shell startup files do not contain peculiarities of one shell but are portable shell. My shell for example is a Bourne shell which does not have the ! builtin (and certainly not anything which acts the way the above script appears to desire - !ing the entire pipeline). A portable way to write this would be if echo "$PATH" | grep -v -q "$kdepath"; then which would work in any Bourne shell.
Thanks, fixed.