На информационном ресурсе применяются рекомендательные технологии (информационные технологии предоставления информации на основе сбора, систематизации и анализа сведений, относящихся к предпочтениям пользователей сети "Интернет", находящихся на территории Российской Федерации)

Groovy Shell. Часть 1

Особенности

  • Нет необходимости в команде, чтобы выполнить буфер.
  • Богатое кросс-платформенное edit-line редактирование, хронология и завершение благодаря JLine.
  • Цвета ANSI (подсказка, следы исключения и т. д.).
  • Простой, все же устойчивый, система команд с интерактивной справкой, пользовательской поддержкой псевдонима и больше.
  • Поддержка параметра пользователя

Опции Командной строки и Параметры

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

./bin/groovysh --help
usage: groovysh [options] [...]
  -C, --color[=FLAG]         Включить или отключить использование ANSI цветов
  -D, --define=NAME=VALUE    Определяют системное свойство
  -T, --terminal=TYPE        Указать тип терминала для использования
  -V, --version              Показать версию
  -d, --debug                Допускают вывод отладки
  -h, --help                 Отображает справку
  -q, --quiet                Подавить подробного вывод
  -v, --verbose              Допустить подробного вывод

В дополнение к опциям команды или выражения могут быть представлены командной-строкой, которое вызовет shell в неинтерактивном режиме. Команды или выражения будет оцениваться и выйдут из shell оболочки. Если никаких дополнительных аргументов не добавят, то shell оболочка будет запуске в интерактивном режиме.

Выполните команду
./bin/groovysh 'show preferences'
No preferences are set
Оценка выражения
./bin/groovysh 'System.properties.each { k, v -> println("$k = $v") }'
java.runtime.name = Java(TM) 2 Runtime Environment, Standard Edition
sun.boot.library.path = /System/Library/Frameworks/JavaVM.
framework/Versions/1.5.0/Libraries
java.vm.version = 1.5.0_07-87
awt.nativeDoubleBuffering = true
gopherProxySet = false
...

Оценка выражения

Простые выражения

println "Hello" 

Результат оценки

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

Многострочные выражения

Multi-line/complex выражения (например, замкнутое выражение или определения класса) может быть определено в нескольких строк. Когда shell оболочка обнаруживает, что у нее есть законченное выражение, она компилирует и оценит его.

Определение класса
class Foo {
    def bar() {
        println "baz"
    }
}
Использование класса
foo = new Foo()
foo.bar()

Переменные

Переменные Shell все без контроля типов (то есть никакое def или другая информация типа.

Это установит переменную оболочки shell:

foo = "bar" 

Но это будет оценивать местные переменной, и не будут сохраняться в оболочке окружающей среды:

def foo = "bar" 

Функции

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

Определение функции просто:

groovy:000> def hello(name) {
groovy:001> println("Hello $name")
groovy:002> }

А затем, используя его как можно было ожидать:

hello("Jason") 

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

Команды

У оболочки shell есть много различных команд, которые обеспечивают богатый доступ к среде оболочки.

Команды имеют name и shortcut (что-то вроде \h). Команды могут также иметь некоторые предопределенные системы псевдонимов. Пользователи могут также создавать свои собственные псевдонимы.

Распознанные команды

help

Показать список команд (и псевдонимы), или текст справки для определенной команды.

Список команд
groovy:000> help
Для получения информации о Groovy, посетите:
    http://groovy.codehaus.org
Доступные команды:
  help     (\h ) Отобразить помощь
  ?        (\? ) Псевдоним: справка
  exit     (\x ) Выход из shell
  quit     (\q ) Псевдоним: выйти
  import   (\i ) Импорт класса в пространство имен
  display  (\d ) Дисплей текущего буфера
  clear    (\c ) Очистить буфер
  show     (\S ) Показать переменных, классов или импорта
  inspect  (\n ) Проверка переменной или последний результат с GUI браузера
  purge    (\p ) Чистка переменных, классов, импорта или буферы
  edit     (\e ) Редактировать текущий буфер
  load     (\l ) Загрузите файл или URL в буфер
  .        (\. ) Псевдоним: загрузка
  save     (\s ) Сохранить текущий буфер в файл
  record   (\r ) Отчет текущий сеанс в файл
  history  (\H ) Дисплей, управляйте и повторно вызовите хронологию строки редактирования
  alias    (\a ) Создайте псевдоним
  set      (\= ) Набор (или список) персональных настроек
Для получения справки по конкретной команде введите:
    help <command>

Помощь для команды

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

groovy:000> help help
usage: help [<command>]
Показать список команд или текста справки для <command>. 

exit

Выход из командной строки.

Только для выхода из оболочки shell. Вы можете CTRL-C, но shell будет жаловаться на аварийное завершение JVM.

import

Добавить пользовательский импорт, которые будут включены shell.

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

display

Отображать содержимое текущего буфера.

Это лишь отображает буфер неполного выражения. Как только выражение закончено, буфер - останавливается. Оперативное обновление, чтобы показать размер текущего буфера тоже.

Пример
groovy:000> class Foo {
groovy:001> def bar
groovy:002> def baz() {
groovy:003> display
 001> class Foo {
 002> def bar
 003> def baz() {

clear

Очистите текущий буфер.

show

Показать переменные, классы или персональные настройки или импорт.

show variables
groovy:000> show variables 
Variables:
  _ = true
show classes
show imports
show preferences
show all

inspect

Открывает GUI браузера для проверки переменной или результат последней оценки.

purge

Чистка объектов из командной строки.

purge variables
purge classes
purge imports
purge preferences
purge all

edit

Редактируйте текущий буфер во внешнем редакторе.

В настоящее время работает только в системах UNIX, которые установили набор переменных среды EDITOR, или в настройках предпочтений editor.

load

Загрузите один или несколько файлов (или URL) в буфер.

save

Сохраняет содержимое буфера в файла.

record

Сделать запись текущего сеанса в файл.

record start
record stop
record status

history

Отобразите, управляйте и повторно вызовите хронологию строки редактирования.

history show
history recall
history flush
history clear

alias

Создание псевдонима.

set

Установка или список предпочтений.

Рекомендуем
Популярное
наверх