Любой способ иметь «режим Verbose» или «режим отладки» с SED?

Вот еще один способ, который использует код Стефана Чазеласа, но с типом , и преодолевает ограничения типа ...

function isCommand () {
  #
  local _arg=" $(type -t "$1") "
  local _executables=' file alias keyword function builtin '
  #
  [[ "${_executables#*$_arg}" != "$_executables" ]]  && return 0
  ### if $_arg is NOT in $_executables, the two strings will be identical
  #
  return 1
}

while
  printf "Enter a command: "
  read command
do
  isCommand "$command"  && { "$command"; break; }
  #
  echo Try again
done

Примечания

  • В isCommand () ...
    • ... переменные дополняются, чтобы избежать частичного Спички.
    • ... type возвращает «файл» для любого файла с установленным битом выполнения. Так мы обнаруживаем внешние команды.
    • ... этот тест на включение в строку - один из самых неинтуитивных, о которых я знаю. Но он быстрый и не использует внешних команд, поэтому я использую его и оборачиваю вокруг него более интуитивно понятную функцию. Есть несколько других способов сделать это.
  • isCommand "$ command" && {"$ command"; перерыв; }
    Здесь используется список команд для логики выполнения «если-то». (см. справочную страницу bash в Shell Grammer, Lists )
    • Преимущества
      • ... более быстрое выполнение, чем обычное if [[... ]] конструкция
      • ... избегает сложной (и подверженной ошибкам) ​​логики нескольких тестов
      • ... аналогично ООП try / catch обработка исключений
    • Предостережение
      • ...В части «затем» после && или || несколько команд должны быть заключены в фигурные скобки, а последняя команда и ее аргументы должны заканчиваться точкой с запятой ; как в {cmd1 args; cmd2 args; } .

0
07.01.2019, 23:21
1 ответ

В таблице разделов MBR максимальное количество основных разделов ограничено 4.

Для установки Ubuntu необходимо создать расширенный раздел:

  1. Сделайте резервную копию ваших данных
  2. Удалить основной раздел
  3. Создайте расширенный раздел для установки корневого раздела и раздела подкачки.
  4. Восстановите раздел, который вы удалили на шаге 2, внутри расширенного раздела

    Справка -Ubuntu :Как создать раздел/расширенный раздел

2
28.01.2020, 02:30

Теги

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