Особенности
- Нет необходимости в команде, чтобы выполнить буфер.
- Богатое кросс-платформенное 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
Установка или список предпочтений.