Linux долго загружается после изменения размера и перемещения разделов

Ваш код у меня работает нормально, но в нем есть несколько ошибок, которые в некоторых случаях не сработают (, например. если в имени файла есть пробел ).

  • Во-первых, не анализируйте ls . Вместо этого выполните итерацию, используя glob. т.е. вместо $(ls)используйте *.
  • При чтении переменных следует заключать их в кавычки, т.е. использовать "$foo"вместо $foo. Если вы не укажете их в кавычках, оболочка разделит вывод на IFS (, то есть на пробелы ). Вы можете проверить это с помощью своего скрипта. Включите несколько каталогов без пробелов, а затем проверьте с пробелом. Будут учитываться только первые.

Вот фиксированный код:

#!/bin/bash
n=0
for afile in *
do
    if [ -d "$afile" ]
    then
      (( n ++ ))
    fi
done
echo There are $n directories under the current directory $(pwd).
exit 0

Не уверен, что это очевидно, но скрипт запустится в текущем каталоге.

0
18.12.2020, 20:39
1 ответ

Вы, как и я, можете найти утилиту boot-repairвесьма полезной для этого.

Он использует системные инструменты fdisk, parted, lsblk, blkidи каталог /dev/diskдля обнаружения всех разделов и диагностики всех меток; а также GRUB os-proberдля идентификации операционных систем, загружаемых с него.

https://sourceforge.net/p/boot-repair/home/Home/

0
15.06.2021, 14:37

Теги

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