В оболочке Z символ ^
представляет собой расширенный подстановочный символ , который распознается частью расширения имени файла при обработке команд.
Как поясняется в руководстве по Z-оболочке, шаблон ^M
соответствует любому имени файла , кроме , которое соответствует шаблону M
. Итак, что происходит, так это то, что команда расширяется до stty erase
, за которой следуют все имена файлов в текущем каталоге , кроме одного с именем M
, если он есть.
Это просто случай, когда у вас есть файл с именем «CCPP»
в текущем каталоге, который является первым в результирующем списке, когда расширяется шаблон подстановки ^M
.
Цитата или экранирование метасимвола:
stty erase '^M'
stty erase \^M
Или отключите расширенную подстановку оболочки Z:
setopt no_extended_glob
Сравните опыт этого человека , у которого было другое имя файла и чей шаблон исключения был ?
. Человек вhttps://askubuntu.com/a/206722/43344действительно сделал вышеупомянутое цитирование и действительно предоставил аргумент (строку, состоящую из 3 символов, а не спецификатор ровно из 1 символа ), который был недействительным.
Конечно, CR — странный выбор для erase
специального символа. Но я не собираюсь вдаваться в то, почему вы хотите это сделать. & #9786;
https://blogs.gnome.org/hughsie/2019/07/12/gnome-software-in-fedora-will-no-longer-support-snapd/
Один из разработчиков GNOME заявил, что они больше не будут обновлять snapd в дистрибутивах Fedora GNOME. По-видимому, это устаревшая/небезопасная система.
Надеюсь, это поможет. Я думаю, если вам это нужно, вы можете вернуться к более ранней поддерживаемой версии.