Определите, является ли вывод строки или целочисленного

Вам потребуется BIOS или EFI, чтобы указать, с какого устройства должен запускаться телефон. Затем вы можете использовать внешнюю SD-карту в качестве Live CD или, возможно, даже USB-порт.

Но есть ли у нас что-то вроде BIOS для наших телефонов? Я ничего об этом не слышал. Конечно, он есть, но как его активировать?

Когда ваш телефон (Android) рутирован, есть эти инструменты, которые могут установить новое ядро. Они наиболее близки к этому, но на данный момент у меня нет телефона с рутированным доступом, и я не могу рассказать вам больше об этом.

0
31.10.2018, 10:25
2 ответа

Помещение отрицания внутри выражения дает мне правильные результаты:

if [[ ! "$count" =~ ^[0-9]+$ ]]
then
    echo "string"
else
    echo $count
fi
0
28.01.2020, 02:16

Похоже, переменная countсодержит несколько дополнительных нежелательных пробелов, из-за которых ваше условие не может быть целочисленным типом.

Чтобы это исправить, вам нужно удалить лишние пробелы в вашей переменной. Используйте внешний инструмент, например xargs, чтобы удалить пробелы. Полезная вещь с xargsзаключается в том, что он поглощает как начальные, так и конечные пробелы в переменной.

if ! [[ $( xargs <<< "$count" ) =~ ^[0-9]+$ ]]
then
    echo "string"
else
    echo $count
fi

Если нет внешнего инструмента, такого как xargs, используйте расширение параметра, предоставляемое самой оболочкой

if ! [[ "${count// /}" =~ ^[0-9]+$ ]]
then
    echo "string"
else
    echo $count
fi

Синтаксис ${count// /}заменит все пробелы пустой строкой, и результирующая строка будет использоваться при сравнении с определенным регулярным выражением.

2
28.01.2020, 02:16

Теги

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