ГлавнаяОперационные системыLinuxЧто такое Rc Shell и как его установить в Linux

Что такое Rc Shell и как его установить в Linux

Оболочка rc — это простой и инновационный интерпретатор команд, созданный для семейства операционных систем Plan 9. В настоящее время он является частью план9порт — пакета программного обеспечения Plan 9, доступного для Linux.

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

Читайте также: 6 лучших сред рабочего стола Linux 2024 года

Что такое План 9?

По сути, План 9 является преемником операционной системы UNIX. Она разрабатывалась Bell Labs в качестве экспериментального проекта с начала 1980-х годов до 2015 года. С тех пор группа добровольцев поддерживает операционную систему, и по сей день периодически появляются обновления.

Contents

Что такое План 9?

ll-02-9legacy-website-view.jpg" alt="Rc Shell 02 9legacy Просмотр веб-сайта">

Plan 9 стремится создать простую и доступную систему как для разработчиков, так и для пользователей. Это достигается путем реализации и улучшения базовой концепции UNIX. Таким образом, Plan 9 переносит много подобные команды в UNIX и другие UNIX-подобные системы, такие как cp, mvи 54.

Кроме того, добавлен ряд новых утилит и функций, уникальных для операционной системы. Например, sam — мощный текстовый редактор, которым вы можете полностью управлять с помощью регулярных выражений.

Rc Shell 03 Сэм Редактор Linux

Одной из самых инновационных особенностей Plan 9 является радиоуправляемая оболочка. Это командный интерпретатор, похожий на Bash, который позволяет создавать сценарии, которые затем можно использовать для автоматизации вашей машины. rc также стремится упростить создание этих сценариев, удалив все ненужные и избыточные функции.

Rc Shell 04 Rc Страница руководства 1

Читайте также: Как изменить размер и оптимизировать изображения из терминала Linux

Установка оболочки удаленного управления

Установка оболочки rc в Linux относительно проста.

  1. Скопируйте репозиторий Git инструментов Plan 9 на свой компьютер. Вы можете сделать это с помощью установка Git и выполнив следующие команды:
git clone https://github.com/9fans/plan9port.git /home/$USER/plan9port
cd plan9port
  1. Затем запустите сценарий установки, который поставляется с репозиторием. Это простой скрипт, который компилирует построитель Plan 9, который, в свою очередь, компилирует остальные утилиты. Для этого вам нужно запустить следующее:
./INSTALL
Rc Shell 05 Компиляция Plan9port
  1. После этого вы можете использовать утилиты Plan 9, перейдя в каталог bin репозитория. Например, мы наберем ./bin/acme, чтобы запустить графический текстовый редактор.
Rc Shell 06 Редактор Acme
  1. Важно отметить, что эти команды будут работать только тогда, когда вы находитесь в каталоге «bin» plan9port. Чтобы использовать их в другом месте, вам необходимо добавить этот конкретный каталог в переменную «PATH». Для этого вам нужно открыть файл «.bash_profile» в вашем домашнем каталоге:
nano /home/$USER/.bash_profile
  1. Добавьте следующую текстовую строку в

    Установка оболочки удаленного управления

    pan>:/home/$USER/plan9port/bin/
Rc Shell 07 Редактирование переменной пути<

Сохраните и выйдите из файла и перезапустите оболочку rc.

Читайте также: 5 полезных советов при компиляции собственного ядра Linux

Использование и написание базовых сценариев Rc

Теперь вы можете начать писать сценарии в rc. Чтобы получить доступ к этой оболочке, все, что вам нужно сделать, это выполнить следующую команду:

9 rc

При этом подсказка вашего терминала изменится на «%». Это означает, что вы теперь находитесь внутри оболочки rc. Отсюда вы по-прежнему можете получить доступ ко всем своим файлам, а также к традиционным командам Linux. Например, мы наберем ls, чтобы получить список текущего каталога.

Rc Shell 08 Ls Внутри Rc

Переменные и файловые операторы

Одно из наиболее распространенных применений языка оболочки — хранение произвольных значений, а также манипулирование файлами. В этом отношении оболочка rc ведет себя точно так же, как Bash.

  1. Мы напишем следующее, чтобы создать переменную с именем «test» и присвоить ей слово «hello»:
test=hello
  1. Оттуда мы введем следующую команду, чтобы добавить тестовую переменную в файл «world.txt»:
echo $test >> world.txt

<ол старт="3">

  • С другой стороны, можно также указать оператору чтения использовать содержимое файла в качестве входных данных для программы:
  • cat < world.txt
    Rc Shell 09 Переменные и печать

    Читайте также: 5 лучших дистрибутивов Linux-Libre для повышения безопасности

    Использование UNIX Pipes в Rc Shell

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

    Подобно функциям, указанным выше, оболочка rc во многом следует традиционный синтаксис Bash при создании каналов UNIX.

    1. Мы запустим следующую команду, чтобы передать содержимое файла «world.txt» на системный пейджер:
    cat world.txt | less
    1. Здесь следует отметить, что каналы UNIX в rc нелинейны. Это означает, что можно передать выходные данные двух активных программ на вход одной программы. Например, мы можем запустить следующую команду, чт

      Использование и написание базовых сценариев Rc

      cmp <{echo hello} <{echo helloo}
      Rc Shell 10 ответвлений труб

      Читайте также: Что такое Gentoo Linux и как его установить

      Объединение команд в Rc Shell

      Помимо использования каналов UNIX, в оболочке rc также можно объединять различные команды. Это позволяет запускать программы последовательно без необходимости вводить их в отдельные строки. Посмотрите эту команду, которая позволяет запустить lessпосле запуска echo:

      echo hello-world >> hello.txt; less hello.txt

      Кроме того, rc

      Переменные и файловые операторы

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

      Для этого rc предоставляет два оператора: &&» и ||. Это специальные символы, которыми можно заменить точку с запятой.

      • Оператор &&сообщает rc о необходимости связывать и запускать программы, пока команда слева выполняется успешно. Это полезно в ситуациях, когда вам нужно, чтобы вся цепочка работала правильно.
      • Оператор ||сообщает rc о необходимости связывания и запуска программ, если команда слева не запускается. В отличие от предыдущего оператора, это невероятно полезно, если вы пытаетесь исправить проблемы в своих скриптах и ​​программах.

      Зная это, вы можете затем использовать эти операторы для создания команд, которые могут ставить в очередь и проверять программы. Например, мы укажем rc запускать touchтолько в том случае, если mkdirвыполняется успешно:

      mkdir ./hello && touch ./hello/world
      Rc Shell 11 связанных команд

      Читайте также: Как проверить историю Sudo в Linux

      Использование строк и списков в Rc Shell

      Одним из самых больших различий между Bash и оболочкой rc является то, что последняя ориентирована на упрощение использования обычного текста. В традиц

      Использование UNIX Pipes в Rc Shell

      объявлять в функциях и переменных.

      Эта проблема частично связана с тем, что в Bash существует два способа объявления строки. Текст можно заключить как в одинарные, так и в двойные кавычки, чтобы рассматривать слово как строку.

      Rc Shell 12 Многострочные кавычки

      Таким образом, rc стремится уменьшить эту сложность, используя только одинарные кавычки при объявлении строк. Это позволит вам без проблем использовать специальные и управляющие символы.

      С помощью этой команды мы превратим скобку в строку без escape-символов:

      # rc
      hello='[world]'
      # bash
      hello='\[world\]'

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

      Для этого все, что вам нужно сделать, это заключить группу строк в круглые скобки. Таким образом, мы напишем следующее, чтобы создать переменную с 5 элементами внутри:

      shop=(eggs milk cheese rice beef)

      Зная это, вы сможете использовать различные команды для извлечения данных из массива. Например, эта команда извлечет первые три элемента массива:

      echo $shop(1 2 3)
      Rc Shell 13 основных списков

      Читайте также: Как исправить проблему «Не могу ввести терминал в Linux»

      Базовое управление потоком данных в Rc Shell

      Помимо простой оболочки, rc также явля

      Объединение команд в Rc Shell

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

      Rc Shell 14 Пример сложного кода

      Rc позволяет легко создавать операторы if-then, циклы for, а также дает возможность определять сложные функции. Это может быть невероятно полезно, если вы только начинаете заниматься программированием.

      Читайте также: Как использовать команду dd в Linux

      Использование условных операторов

      Одной из основных особенностей языков программирования является возможность создания условных операторов. Это структуры, которые сообщают программе, что делать в зависимости от обстоятельств, в которых она находится. Например, вы можете указать программе запускаться только в том случае, если ее значение равно 1.

      Rc Shell 15. Базовый вид условного оператора<

      Вы можете написать условный оператор для rc в одну строку:

      if ( condition ) program
      • Поле «условие» представляет собой список команд, которые rc попытается запустить. Это работает так: любая программа, которая успешно запускается сама по себе, предоставляет значение «истина».
      • Поле «программа», с другой стороны, зависит от значения «истина» поля условия для запуска любой команды, которую вы ему даете.

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

      if ( test -r hello.world ) echo "there is a hello world!"

      Создание простых циклов for

      Помимо написания условных операторов, rc также можно использовать для создания повторяющихся сценариев посредством циклов. Цикл — это структура, позволяющая повторять определенную команду заданное количество раз.

      Rc Shell 15. Базовый вид условного оператора

      Подобно условным операторам, синтаксис цикла можно записать в одну строку:

      for ( i in step ) program
      • Поле «шаг» может быть либо переменной, либо программой, которую rc будет выполнять одну за другой. Например, написание списка здесь укажет rc про

        Использование строк и списков в Rc Shell

        рограмма» — это строка кода, которую вы хотите, чтобы rc запускал каждый раз, когда он проходит через поле шага.

      Создание функций в Rc

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

      Код основных функций Rc Shell 17

      Например, следующая команда создаст функцию, которая использует как условные операторы, так и циклы for:

      fn hello {
          for (i in ./hello/) if(test -r ./hello/$i) echo "There is a file here!"
      }

      Хотя это может показаться сложным, написание функции невероятно просто. По своей сути базовый синтаксис функции rc выглядит примерно так:

      fn name { function }
      • Поле «имя» сообщает rc метку конкретной функции. Это может быть особенно полезно, если вы хотите повторно использовать ту же функцию для следующей команды.
      • Поле «функция», с другой стороны, содержит все переменные и команды, которые вы хотите запустить.

      Читайте также: Как выбрать дистрибутив Linux, не перепробовав их все

      Часто задаваемые вопросы

      Можно ли узнать количество элементов в списке в Rc?

      Да! Можно проверить общее количество переменных в списке rc. Подобно получению элементов списка, вы можете сделать это, добавив символ двойной кавычки («)» перед именем списка. Например, мы можем ввести echo $"shop, чтобы вывести общее количество элементов, сохраненных в переменной магазина.

      Можно ли в Rc создавать бесконечные циклы?

      Да! В оболочке rc можно создавать циклы, которые не заканчиваются. Хотя приведенные выше примеры показывают конечные циклы, создание бесконечных циклов также просто. Для этого вам нужно всего лишь удалить любое условие в поле шага. Однако следует отметить одну важную вещь: вам все равно необходимо поставить скобку в поле шага для бесконечного цикла. Это связано с тем, что оболочка rc предназначена для распознавания только функций с определенным синтаксисом и структурой. Например, команда for(i) echo helloсообщит rc печатать слово «привет» бесконечно.

      Можно ли передавать ошибки в Rc, аналогичные >2 в Bash?

      Да! По умолчанию rc предоставляет возможность отделить любой диагностический вывод от программы. Это может быть полезно, если вы пытаетесь устранить проблему с запущенным скриптом или программой. Имея это в виду, вы можете разделить этот тип вывода, используя файловый оператор «>[2=1]». Например, мы можем вывести любые ошибки в нашем скрипте, выполнив следующую команду: ./script.rc >[2=1] ./error.log.Базовое управление потоком данных в Rc Shellно: Unsplash Все скриншоты сделаны Рамсесом Редом

      Использование условных операторов

      Создание простых циклов for

      Создание функций в Rc

      Часто задаваемые вопросы

      Можно ли узнать количество элементов в списке в Rc?

      Можно ли в Rc создавать бесконечные циклы?

      Можно ли передавать ошибки в Rc, аналогичные >2 в Bash?

    ПОХОЖИЕ СТАТЬИ

    Популярные записи