What you are doing here is ambiguous even in bash.
In bash, if the
noglob option is not set and
mate-* matches one or more files in the current directory, it will be expanded to a list of those files which will be passed as arguments to
apt-get remove. Otherwise, it will be passed literally to the
apt-get command unless:
failglob option is set, in which case the behavior will be the same as in
nullglob option is set, in which case
mate-* will be removed altogether
In fish, the behavior appears to be equivalent to bash's
failglob, and there does not seem to be an equivalent of bash's
set -o noglob or
set -f. So you will need to prevent globbing explicitly by quoting, ex.
sudo apt-get remove "mate-*"
sudo apt-get remove mate-"*"
(which you really should be doing in bash, for the reasons outlined above).
Also be aware that
apt has moved away from simple wildcards altogether in favor of
aptitude-style patterns - see Problem using wildcard with apt.