Modemmanager 1.10 Не удалось проверить поддержку устройства '/sys/devices/pci0000:00/0000:00:1c.2/0000:02:00.0'

Если вы хотите безопасно определить длину строки с помощью bash, вам следует использовать расширение параметров. ls сам по себе способен только на синтаксис glob, который (скорее всего) не может сделать то, что вы хотите. find имеет различные реализации на BSD и некоторых Linux, а -regextype не обязательно является легальным флагом. Хорошей новостью является то, что в bash есть циклы, и они могут дать вам то, что вы хотите.

for filename in *              # globs all files in your directory.
do
    clip=${filename%.*}        # excludes the first extension
    if [[ ${#clip} -eq 5 ]]    # test the length of the remaining string
    then
        ls -d $filename        # call ls to show you the file or directory
    fi
done

Если вместо этого вам нужно любое имя файла, состоящее только из пяти буквенно-цифровых символов, ваш метод и другие ответы вернут только те файлы, которые начинаются с пяти символов. Например:

Используя ls [a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]

five1.txt      # matches
fi_ve.txt      # fails
a.pages        # fails
q_fiver.txt    # fails

для включения любого файла с любой буквенно-цифровой строкой длиной в пять символов, и только те, которые содержат любую буквенно-цифровую строку длиной в пять символов, вы можете использовать grep более универсальную реализацию regex в bash. Хотя я обычно не рекомендую этого делать, использование \w и \W здесь может сильно помочь читаемости (где \w = [[: alnum:]] и \W = [^[:alnum:]]] - но они будут включать подчеркивания, так что используйте на страх и риск).

for filename in *
do
    if (grep -qE '(^|\W)\w{5}($|\W)' <<<"$filename")
    then
        ls -d "$filename"
    fi
done

4
22.02.2019, 15:17
1 ответ

Это решил сам Александр. :)Резюме из списка рассылки:

Aleksander:

That is just an informative message. MM is not touching that interface for anything, it's just saying it cannot be used as part of a modem, as there is no control port. No udev rule to ignore the device will be hit, because MM is not even trying to use the device. That is definitely nothing to worry about.

Is MM really hanging the boot process? What exactly are you seeing? Any actual logs you can share?

At one time, it did appear to be MM hanging the boot process because once MM was removed, the boot hang was also removed. Now, it seems MM is not the culprit!*
Now, I only wonder, is it necessary that MM provide the informative message at all?

I think that message is not debug, and I agree that it may be a bit confusing to see it :D I'll see what I can do to silence those.

-- Aleksander

1
27.01.2020, 21:01

Теги

Похожие вопросы