ГлавнаяОперационные системыLinuxПонимание различных оболочек в Linux: KornShell

Понимание различных оболочек в Linux: KornShell

По умолчанию, когда мы говорим об оболочке в Linux, большинство людей думают о Bash. Это правда, что это самая распространенная и, возможно, одна из самых простых оболочек, но существует также множество других оболочек, жаждущих вашего внимания. Сегодня мы рассмотрим еще одну очень известную оболочку: Korn Shell («кш» для близких).

История

Изначально Korn Shell считалась коммерческой альтернативой Bash Shell. Разработанная в 1983 году Дэвидом Г. Корном для AT&T Bell, оболочка Korn Shell была вдохновлена ​​интерактивностью оболочки C и эффективностью Bourne Shell. О

История

1986 году, затем в 1988 году и, наконец, был выпущен с открытым исходным кодом в 1993 году. Однако до этого, поскольку Korn Shell был коммерческим продуктом, в 1987 году была создана бесплатная альтернатива под названием Public Domain Korn Shell. Этот pdksh, который вы все еще можете использовать сегодня, в основном основан на ksh 1998 и 1993 годов. С сегодняшней точки зрения Bash и Korn во многом похожи и совместимы. На самом деле они оба произошли от одного и того же предка. Однако взаимодействие немного отличается, и при переходе от одного к другому необходимо пересмотреть некоторые методы написания сценариев.

Установка

Теперь, когда вы знаете больше о ksh, давайте установим его. Для Ubuntu установка довольно проста:

sudo apt-get install ksh

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

После установки пакета вы можете запустить Korn Shell с любого терминала с помощью команды:

ksh

Если вам действительно нравится эта оболочка и вы хотите, чтобы она заменила вашу текущую, вы можете сделать это, набрав

sudo usermod -s /bin/ksh [user name]

Использование

Как я уже говорил, Korn Shell близок к Bash Shell. Но прежде чем что-либо попробовать, вы должны знать, что ksh может имитировать поведение вашего люби

Установка

дактора. Это первое, что заставит вас либо полюбить, либо возненавидеть Korn. Чтобы внести ясность, вы можете настроить свою оболочку так, чтобы она имела те же ярлыки и функции, что и любой неграфический текстовый редактор по вашему выбору. Чтобы просмотреть список редакторов, доступных в вашей системе, используйте эту команду из ksh:

set -o

Я предпочитаю использовать Vi. Поэтому я сделал

set -o vi

С этого момента ksh будет вести себя так же, как ви . И, конечно же, тем из вас, кто знает все об Emacs, лучше сделать это

set -o emacs

Ради этой статьи давайте продолжим с Vi. Теперь у вас есть доступ ко всем ярлыкам и командам, которые вы обычно используете в Vi. Только не забудьте перед этим использовать классическую клавишу «Esc». Например,

<

Использование

еть строку, нажав «дд».
  • Перейти к следующему слову с помощью буквы «е».
  • Вставить букву «p».
  • Удалить символ «x»
  • И т. д.
  • Перейдем к самому интересному — автозаполнению и интерактивной помощи.

    С помощью Bash вы можете автоматически завершить команду, дважды нажав клавишу табуляции. Это не будет работать в каждой ситуации с ksh. Вместо этого, если вы настраиваете Vi, вы можете нажать «Esc +». Если у вас Emacs, нажмите «Esc + Esc». А если вы хотите увидеть все возможности для текущей ситуации, используйте «Esc + =» с Vi и Emacs. Появится список элементов, из которых вы можете выбрать.

    ksh-завершение

    Более того, история команд по-прежнему доступна. В интерфейсе Vi вы можете использовать клавишу «k» для перехода вверх по истории и «j» для перехода вниз. И перемещайте курсор традиционными буквами «h» влево и «l» вправо. С точки зрения Emacs, «Ctrl + p» — для перехода вверх по истории и «Ctrl + n» — для перехода вниз. А для перемещения курсора: «Ctrl+f» вправо и «Ctrl+b» влево.

    Теперь поговорим о скриптах. Для пользователя лямбды Korn Shell напоминает Bash Shell. Однако при написании скриптов есть больше различий в синтаксисе.

    • Замените «#! /bin/bash» с помощью «#! /bin/ksh» (это довольно очевидно, я знаю)
    • Расширение скриптов должно быть «.ksh».
    • Команд «включить» или «объявить» больше нет.
    • Вы можете использовать «print» вместе с «echo»
    кш-принт
    • Используйте «-eq» вместо традиционного «==» в операторах if.
    • Условия для циклов и операторов if должны быть заключены в двойные скобки «[[ условие]]»
    • Все вхождения «$[выражение]» необходимо заменить на «$((выражение))»
    • Функции можно объявлять просто с помощью «function_name()»
    • Таблицу можно создать с помощью уникального синтаксиса
      set -A [table's name] [value 1] [value 2] &hellip; [value n]
    • Команду «читать» можно использовать по-новому
      read [variable]?&rdquo;[message to display]&rdquo;
    кш-читать<

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

    Заключение

    Как видите, Bash и Korn довольно похожи. Хотя интерфейс может немного отличаться, а скрипты в некоторых случаях приходится адаптировать, дух остаётся прежним. У вас не должно возникнуть проблем с переходом от одного к другому. Однако, если вы это сделаете, я приглашаю вас обратиться к странице руководства ksh. В качестве личного задания вы можете протестировать pdksh, который я еще не пробовал, и оставить здесь свои комментарии.

    Думаю, на этом с Korn Shell покончено. В следующий раз мы рассмотрим Zsh Shell, оболочку с самой впечатляющей функцией автозаполнения, которую я когда-либо видел.

    Что вы думаете о Korn Shell? Вы пробовали еще один? Есть ли у вас вопросы по поводу снарядов? Пожалуйста, дайте нам знать в комментариях.

    Заключение

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

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