Насколько надежна загрузочная флешка с Linux?

#!/bin/ksh

high ()   echo High
medium () echo Medium
low ()    echo Low
none ()   echo None

set -A array low medium none high

for level in high medium low none; do
    for elem in "${array[@]}"; do
        if [ "$elem" = "$level" ]; then
            "$level"
            break 2
        fi
    done
done

Это двойная петля. Внешний цикл проходит по уровням в порядке важности. Внутренний цикл перебирает элементы массива в поисках элемента, равного текущему уровню.

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

Обратите внимание, что в общем случае вы бы хотели зациклиться на "${array[@]}", а не на ${array[*]}, так как использование[*](и оставление расширения без кавычек )приведет как к разбиению слов, так и к подстановке имен файлов в строках в массив. Выражение "${array[@]}"расширится до отдельных элементов массива array, заключенных в кавычки.

Избегание разделения слов и подстановки имен файлов также является причиной цитирования $elemи $levelпри их сравнении и т. д.


Возможно, более быстрый способ сделать это — сначала создать ассоциативный массив с элементом из массива в качестве ключей, а затем просто выполнить поиск по ключу в этом:

#!/bin/ksh

high ()   echo High
medium () echo Medium
low ()    echo Low
none ()   echo None

array=( low medium none high )

typeset -A lookup

for elem in "${array[@]}"; do
    lookup["$elem"]=1
done

for level in high medium low none; do
    if [ -n "${lookup[$level]}" ]; then
        "$level"
        break 
    fi
done

Это позволяет избежать двойного цикла, который был бы полезен, если либо массив, либо номер уровня, либо и то, и другое очень длинные.

Я также переключился на более распространенную =(...)форму присваивания для массивов.

-1
30.09.2020, 09:45
2 ответа

Основное различие заключается внутри или снаружи компьютера. Нахождение внутри кажется волшебным. Однако никакие магические силы не предоставляются. Другое отличие заключается в том, как подключен USB или SATA. Все это может влиять на скорость, в зависимости от версии USB и SATA.

Есть несколько машин, которые не загружаются с USB (, вероятно, их трудно найти, так как это необходимо для установки новой системы ).

USB-накопитель может выходить из строя быстрее, чем внутреннее устройство (, но все зависит от устройства ). Почти все устройства SSD имеют ограниченное количество операций записи. Но это применимо только в том случае, если в качестве USB-накопителя используется SSD (. Возможно, вы используете жесткий диск ).

Внешне подключенные устройства более подвержены физическим проблемам :, например. будучи отключенным.

Если вы часто используете его на одном и том же компьютере и не используете внутреннюю память. Тогда наверное стоит установить на это внутреннее хранилище. Вы можете использовать gparted, чтобы уменьшить раздел MS -Windows и создать новый раздел для вашего Gnu/Linux.

0
18.03.2021, 23:01

Чинело.

Загрузочная флешка используется, чтобы проверить, как работает Linux на вашем компьютере, и все ли в порядке. Загрузка медленная. Он работает как установленная система Linux, но работа, которую вы проделали с ним, не будет сохранена на жестком диске. Но вы можете использовать опцию сохранения. Многие люди не знают об этом.

https://www.pendrivelinux.com/what-is-persistent-linux/

0
18.03.2021, 23:01

Теги

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