Вы отправили слишком много запросов, поэтому ваш компьютер был заблокирован.
Для того, чтобы предотвратить автоматическое считывание информации с нашего сервиса, на Linguee допустимо лишь ограниченное количество запросов на каждого пользователя.
Пользователям, браузер которых поддерживает Javascript, доступно большее количество запросов, в отличие от пользователей, чей браузер не поддерживает Javascript. Попробуйте активировать Javascript в настройках вашего браузера, подождать несколько часов и снова воспользоваться нашим сервером.
Если же ваш компьютер является частью сети компьютеров, в которой большое количество пользователей одновременно пользуется Linguee,сообщитеоб этом нам.
Interactive Ruby Shell
Interactive Ruby Shell (IRB) — это командная оболочка для программирования на объектно-ориентированном языке Ruby. Программа запускается из командной строки и позволяет выполнять команды языка Руби в реальном времени. Поддерживается история команды, редактирование, возможность обращаться к веб-сайтам и локальному веб-серверу. Программа была разработана Кэйдзю Исицукой.
irb [ опции ] [ имя файла ] [ аргумент. ]
irb(main):001:0> n = 5 => 5 irb(main):002:0> def fact(n) irb(main):003:1> if n = 1 irb(main):004:2> 1 irb(main):005:2> else irb(main):006:2* n * fact(n - 1) irb(main):007:2> end irb(main):008:1> end => nil irb(main):009:0> fact(n) => 120
См. также
- Сравнение командных оболочек
- Ruby
Ссылки
Ruby MRI • YARV • JRuby • IronRuby • Rubinius • XRuby • MacRuby • RubyJS • HotRuby
RubyGems • Rake • Interactive Ruby Shell • Capistrano • Hackety Hack
Adhearsion • Camping • eRuby (RHTML) • Hobo • Merb • Nitro • RubyCocoa • Ruby on Rails • Ramaze • Sinatra • Padrino • QtRuby
Mongrel • Phusion Passenger (mod_rails/mod_rack) • WEBrick • mod_ruby
Application Archives • Document format • Book Guides • Ruby Central • RubyKaigi
- Программное обеспечение по алфавиту
- Ruby
Wikimedia Foundation . 2010 .
- Interactive Multimedia Association
- Interair South Africa
Полезное
Смотреть что такое «Interactive Ruby Shell» в других словарях:
- Interactive Ruby Shell — Infobox Software name = Interactive Ruby Shell logo = caption = developer = Keiju Ishitsuka latest release version = 0.9.5 latest release date = release date|2007|02|13 operating system = Cross platform platform = Ruby interpreter programming… … Wikipedia
- Interactive Ruby — ou irb est un interpréteur de commandes qui permet d exécuter des commandes Ruby de manière interactive. Il peut être utilisé pour tester le langage. Il est fourni avec la version officielle de Ruby. Une version existe également sur le Web[1].… … Wikipédia en Français
- Ruby — Класс языка: мультипарадигмальный: динамический, объектно ориентиров … Википедия
- Ruby MRI — Ruby Developer(s) Yukihiro Matsumoto (among others) Stable release 1.9.2 / August 18, 2010; 14 months ago (2010 08 18) … Wikipedia
- Ruby on Rails — Ruby on Rails … Википедия
- Shell (computing) — A shell is a piece of software that provides an interface for users of an operating system which provides access to the services of a kernel. However, the term is also applied very loosely to applications and may include any software that is… … Wikipedia
- Ruby — Este artículo trata sobre el lenguaje de programación. Para la notación de ayuda a la lectura, véase Carácter ruby. Ruby Desarrollador(es) Comunidad de desarrolladores de Ru … Wikipedia Español
- Ruby (Programmiersprache) — Ruby Offizielles Logo Basisdaten Paradigmen: multiparadigmatisch Erscheinungsjahr: 1995 … Deutsch Wikipedia
- why’s (poignant) Guide to Ruby — why s foxes why s (poignant) Guide to Ruby, sometimes called w(p)GtR or just the poignant guide , is an introductory book to the Ruby programming language, written by why the lucky stiff. The book is distributed under the Creative Commons… … Wikipedia
- Perl Shell — Infobox Software name = Perl Shell latest release version = 1.8.1 latest release date = July 20, 2007 operating system = Various use = UNIX shell license = GNU General Public License and Artistic License website =… … Wikipedia
- Обратная связь: Техподдержка, Реклама на сайте
- Путешествия
Экспорт словарей на сайты, сделанные на PHP,
WordPress, MODx.
- Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
- Искать во всех словарях
- Искать в переводах
- Искать в ИнтернетеИскать в этой же категории
fish (Русский)
Состояние перевода: На этой странице представлен перевод статьи fish. Дата последней синхронизации: 17 декабря 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
fish (friendly interactive shell) — это удобная оболочка командной строки, предназначенная в основном для интерактивного использования.
fish намеренно не является полностью совместимой с POSIX, она нацелена на устранение неконсистентности POSIX (по мнению создателей) с помощью упрощённого или иного синтаксиса. Это означает, что даже простые POSIX-совместимые скрипты могут потребовать значительной адаптации или даже полного переписывания для работы с fish.
Установка
Установите пакет fish . Разрабатываемая версия доступна в пакете fish-git AUR .
После установки просто наберите fish , чтобы попасть в оболочку fish.
Команда help откроет документацию в веб-браузере. Рекомендуется прочитать хотя бы раздел «Syntax overview» на странице «The fish language», поскольку синтаксис fish отличается от многих других оболочек.
Интеграция с системой
Решите, будет ли fish оболочкой пользователя по умолчанию, то есть запускаться сразу при входе в систему, или она будет запускаться вручную как дочерний процесс текущей оболочки по умолчанию (в качестве примера данная статья будет подразумевать, что оболочкой по умолчанию является Bash). Остановимся подробнее на этих двух установках:
- fish используется как оболочка по умолчанию: этот режим требует некоторого базового понимания функционирования fish и её скриптового языка. Текущие скрипты инициализации и переменные окружения пользователя должны быть перенесены в новое окружение fish. Чтобы настроить систему в этом режиме, выполните действия, описанные в разделе #Установка fish в качестве оболочки по умолчанию.
- fish используется только как интерактивная оболочка: все скрипты инициализации Bash запускаются как обычно, а fish работает поверх Bash в интерактивном режиме, подключенном к терминалу. Чтобы настроить fish в этом режиме, выполните шаги, описанные в разделе #Установка fish только в качестве интерактивной оболочки.
Установка fish в качестве оболочки по умолчанию
Если вы решили сделать fish оболочкой по умолчанию, первым шагом будет установка оболочки этого конкретного пользователя на /usr/bin/fish . Необходимые шаги описаны в разделе Командная оболочка#Выбор оболочки по умолчанию.
Следующим шагом будет перенос необходимых действий и настроек, выполняемых в различных скриптах инициализации Bash, а именно /etc/profile , ~/.bash_profile , /etc/bash.bashrc и ~/.bashrc , во фреймворк fish.
В частности, содержимое переменной окружения $PATH , после непосредственного входа в fish, следует проверить и настроить под свои нужды. В fish $PATH определена как глобальная переменная окружения: она имеет глобальную область видимости для всех функций, теряется при перезагрузке и является переменной окружения, что означает, что она экспортируется в дочерние процессы. Рекомендуемый способ добавления дополнительных мест в path — вызов команды fish_add_path из config.fish . Например:
$ fish_add_path -p /первый/путь /второй/путь /третий/путь
Указанные три пути будут добавлены в начало path.
Установка fish только в качестве интерактивной оболочки
Если не устанавливать fish в качестве оболочки по умолчанию, то при входе будут выполняться текущие скрипты Bash. При этом переменные окружения текущего пользователя остаются неизменными и экспортируются в fish, которая затем запускается как дочерний процесс Bash. Ниже описано несколько способов запуска fish в интерактивном режиме без установки в качестве оболочки по умолчанию.
Запуск fish через .bashrc
Оставьте Bash оболочкой по умолчанию и просто добавьте строку exec fish в подходящий файл настроек Bash, например .bashrc . Это позволит Bash правильно выполнить source файла /etc/profile и всех файлов в /etc/profile.d/ . Поскольку процесс Bash полностью заменяется на процесс fish, выход из fish также приведёт к выходу из терминала. По сравнению со следующими вариантами, это наиболее универсальное решение, поскольку оно работает как на локальной машине, так и на SSH-сервере.
- При использовании такой установки используйте команду bash —norc , чтобы вручную войти в Bash без выполнения команд из ~/.bashrc , который запустит exec fish и вернёт вас обратно в fish.
- Чтобы команды наподобие bash -c ‘echo test’ выполняли команду в Bash вместо запуска fish, можно написать if [ -z «$BASH_EXECUTION_STRING» ]; then exec fish; fi вместо простого exec.
- Можно настроить вход в fish только в том случае, если родительский процесс не является fish. Это позволяет быстро войти в bash, вызвав команду bash , без потери настроек из ~/.bashrc :
if [[ $(ps --no-header --pid=$PPID --format=comm) != "fish" && -z $ ]] then exec fish fi
Использование настроек эмулятора терминала
Другой вариант — запускать эмулятор терминала с параметром, запускающим fish. В большинстве терминалов для этого используется аргумент -e , поэтому, например, чтобы открыть gnome-terminal с запуском в нём fish, сделайте ярлык с такой командой:
gnome-terminal -e fish
В эмуляторах терминала, которые не поддерживают установку оболочки, например, lilyterm-git AUR , можно использовать другой способ:
SHELL=/usr/bin/fish lilyterm
Также, в зависимости от терминала, вы можете установить fish в качестве оболочки по умолчанию либо в настройках, либо в профиле терминала.
Использование настроек терминального мультиплексора
Например, если вы используете tmux и хотите использовать в нём fish в качестве командной оболочки, добавьте следующее в файл ~/.tmux.conf :
set-option -g default-shell "/usr/bin/fish"
После этого при запуске tmux будет запускаться fish.
Настройка
Файл настроек ~/.config/fish/config.fish запускается при каждом входе. Добавление команд или функций в этот файл приводит к их выполнению/определению при открытии терминала, аналогично .bashrc . Обратите внимание, что если переменная должна быть сохранена, её следует установить как универсальную, а не определять в вышеупомянутом файле настроек.
Пользовательские функции находятся в каталоге ~/.config/fish/functions/ в файлах имя_функции.fish .
Веб-интерфейс
Цвета терминала fish, строка приглашения, функции, переменные, история, привязки и сокращения могут быть настроены через интерактивный веб-интерфейс:
fish_config
Он может не запуститься, если IPv6 отключен. Смотрите [1] и IPv6 (Русский)#Отключение IPv6.
Завершение команд
fish может генерировать автодополнение из страниц руководства man. Оно сохраняется в ~/.config/fish/generated_completions/ и может быть сгенерировано командой:
fish_update_completions
Вы также можете определить свои собственные правила автодополнения в ~/.config/fish/completions/ . Примеры можно посмотреть в /usr/share/fish/completions/ .
Контекстно-зависимое автодополнение для команд, специфичных для Arch Linux, таких как pacman, pacman-key, makepkg, pbget, pacmatic, встроено в fish, поскольку политика разработки fish заключается в том, чтобы всё было включено в состав fish. Управление памятью достаточно умно, чтобы избежать любого негативного влияния на ресурсы.
Советы и рекомендации
Подстановка команд
В fish не реализована подстановка команд из истории в стиле Bash (наподобие sudo !! ), и в fish faq разработчики рекомендуют использовать интерактивный интерфейс вставки команд истории: стрелка вверх ( Up ) вызывает поставляет прошлые строки из истории целиком, Alt+Up (или Alt+. ) подставляет аргументы по отдельности, а Alt+s добавляет sudo в начало текущей строки.
Однако в fish wiki: описаны некоторые обходные пути: хотя они не обеспечивают полный аналог подстановки в стиле Bash, некоторые функции заменяют !! на предыдущую команду или !$ на предыдущий последний аргумент.
Отключение приветствия
По умолчанию fish печатает приветствие при запуске. Чтобы отключить его, выполните эту команду один раз:
$ set -U fish_greeting
Это очищает универсальную переменную fish_greeting , которая является общей для всех экземпляров fish и сохраняется при перезапуске оболочки.
Запуск fish через su
Если при выполнении su запускается с оболочкой Bash из-за того, что Bash является оболочкой по умолчанию целевого пользователя (root, если имя пользователя не указано), то можно создать функцию, которая всегда будет выполнять su с аргументом, запускающим оболочку fish вместо стандартной оболочки целевого пользователя:
~/.config/fish/functions/su.fish
function su command su --shell=/usr/bin/fish $argv end
Запуск X при входе
Добавьте следующее в конце файла ~/.config/fish/config.fish .
# Start X at login if status is-login if test -z "$DISPLAY" -a "$XDG_VTNR" = 1 exec startx -- -keeptty end end
Если вы запускаете fish в интерактивном режиме, замените status is-login на status is-interactive .
Отображение статуса git в приглашении
Если вы хотите, чтобы fish отображал статус branch и dirty, когда вы находитесь в каталоге git, можно создать такую функцию fish_prompt :
~/.config/fish/functions/fish_prompt.fish
function fish_prompt set -l last_status $status if not set -q __fish_git_prompt_show_informative_status set -g __fish_git_prompt_show_informative_status 1 end if not set -q __fish_git_prompt_color_branch set -g __fish_git_prompt_color_branch brmagenta end if not set -q __fish_git_prompt_showupstream set -g __fish_git_prompt_showupstream "informative" end if not set -q __fish_git_prompt_showdirtystate set -g __fish_git_prompt_showdirtystate "yes" end if not set -q __fish_git_prompt_color_stagedstate set -g __fish_git_prompt_color_stagedstate yellow end if not set -q __fish_git_prompt_color_invalidstate set -g __fish_git_prompt_color_invalidstate red end if not set -q __fish_git_prompt_color_cleanstate set -g __fish_git_prompt_color_cleanstate brgreen end printf '%s%s %s%s%s%s ' (set_color $fish_color_host) (prompt_hostname) (set_color $fish_color_cwd) (prompt_pwd) (set_color normal) (__fish_git_prompt) if not test $last_status -eq 0 set_color $fish_color_error end echo -n '$ ' set_color normal end
Однако теперь это устарело, смотрите fish-shell git. В качестве альтернативы, Informative Git Prompt теперь встроен в fish и при желании может быть активирован из fish_config.
Изменение цвета имени хоста в приглашении при подключении через SSH
Для динамического изменения цвета имени хоста в приглашении при подключении по SSH добавьте следующие строки либо в функцию fish_prompt , либо в файл настроек fish, в данном примере используется красный цвет:
~/.config/fish/functions/fish_prompt.fish
. if set -q SSH_TTY set -g fish_color_host brred end .
Использование переменных ssh-agent
В fish выполнить команду eval (ssh-agent) не получится, так как в ней используется несовместимый способ установки переменных. Вместо этого можно использовать стиль csh с помощью опции -c :
$ eval (ssh-agent -c)
Хук «command not found»
В составе fish есть хук «command not found», который будет автоматически искать нераспознанную команду в пакетах подключенных репозиториев. Этот хук будет запущен с использованием pkgfile , или, если он не установлен, pacman -F .
Начиная с версии 3.2.2, «command not found» не будет использовать pacman -F по умолчанию из-за его плохой производительности.
Если задержка, которую вызывает такое поведение, нежелательна, этот хук можно отменить, переопределив fish_command_not_found так, чтобы он печатал только сообщение об ошибке:
$ function fish_command_not_found __fish_default_command_not_found_handler $argv[1] end
Чтобы сделать это изменение постоянным, можно использовать встроенную функцию funcsave :
$ funcsave fish_command_not_found
Скрытие процесса из списка заданий
fish завершает все задания (jobs), переведённые в фоновый режим, когда fish завершает работу. Чтобы продолжить выполнение задания после завершения fish, сначала используйте disown . Например, следующая команда запускает firefox в фоновом режиме, а затем отсоединяет его от fish:
$ firefox & $ disown
Таким образом firefox останется запущен после завершения работы fish. Смотрите disown(1) в оболочке fish для более подробной информации.
Установка постоянного псевдонима
Чтобы быстро создать постоянный псевдоним, можно сделать так:
$ alias lsl "ls -l" $ funcsave lsl
Начиная с версии 3.0, alias также поддерживает опцию -s / —save :
$ alias -s lsl "ls -l"
Это создаст функцию:
function lsl ls -l $argv end
и сохранит её. Чтобы увидеть все функции и/или отредактировать их, можно просто использовать fish_config и заглянуть на вкладку functions на странице настроек.
Более подробную информацию можно найти на официальном сайте: alias — create a function — fish-shell.
Быстрая навигация по файловой системе с помощью zoxide
zoxide — умный аналог cd,, позволяющий перемещаться в любое место всего за несколько нажатий клавиш. Она запоминает ваши часто используемые каталоги и использует механизм подсчёта баллов, чтобы угадать, куда вы хотите перейти.
Смотрите также
- https://fishshell.com/ — Домашняя страница
- https://fishshell.com/docs/current/ — Документация
- https://hyperpolyglot.org/unix-shells — Сравнение синтаксиса разных оболочек («shell rosetta»)
- https://github.com/fish-shell/fish-shell — репозиторий на GitHub
Retrieved from «https://wiki.archlinux.org/index.php?title=Fish_(Русский)&oldid=761362»
Интерактивная консоль Ruby
IRB — interactive ruby shell или по-простому «интерактивная руби консоль». Очень полезный инструмент любого рубиста. Смысл его в том, что вы можете писать любой руби код и видеть результаты его выполнения сразу же, в том же окне.
IRB экономит время, когда нужно написать очень короткую и простую программу, когда нужно понять как будет работать тот или иной код, или быстро вычислить какое-то выражение (как на калькуляторе).
Принцип работы
Для запуска интерактивной руби консоли достаточно в вашей командной строке набрать irb . Результат будет выглядеть примерно так:
MikeMac:~ aristofun$ irb 2.2.1 :001 >
Вы попали в интерактивный режим. Вместо 2.2.1 может быть написана другая версия руби или что-то вроде irb(main) .
Это не важно, важно, что после символа > консоль приглашает вас к вводу кода.
Если вы введете какой-то код, и нажмете Enter, то.
2.2.1 :001 > puts "Hello world" Hello world => nil 2.2.1 :002 >
Сначала выполнится эта строчка (на приведенном примере она вывела на экран строку «Hello world» ), а затем обязательно появится строка, начинающаяся с символов => .
Эта строка — результат, который вернуло введенное вами выражение.
Выражением может быть любое корректное выражение на языке Ruby. Если выражение некорректное, вы просто получите в консоли ошибку. Так же, как вы бы получили ее при обычном запуске программы.
Например, очень удобно использовать Ruby консоль в качестве продвинутого калькулятора (скажем, считать задолженность по оплате электроэнергии):
2.2.1 :002 > 3.91*(2342-2291) + 3.23*(1745-1622) => 596.7 2.2.1 :003 >
Как видите в этом случае после вашей строки, выводится только строка с результатом выполнения выражения. И затем IRB снова ждет ваших распоряжений.
Многострочный код
Если вам нужно выполнить в консоли код, который не умещается в одну строку, можете заключить его внутрь блока begin — end .
После ввода begin , консоль будет запрашивать все новые и новые строки, пока не встретит конец этого блока end . И тогда только разом выполнит весь этот блок кода.
2.2.1 :003 > begin 2.2.1 :004 > sleep 3 2.2.1 :005?> puts ['orel', 'reshka'].sample # вывести орел или решку 2.2.1 :006?> end orel => nil 2.2.1 :007 >
Надпись orel и => nil появятся на экране только через 3 секунды после ввода 6-й строки. Кстати, комментарии тоже можно писать (любой руби код), но зачем? 😉
Для выхода из консоли достаточно набрать волшебное слово exit и вернуться к нормальной жизни, найти работу, завести семью.
Когда и как пользоваться IRB
В консоль при желании можно скармливать огромные программы. Но делать так не стоит. Консоль — это фастфуд, когда нужно срочно выполнить немножко какого-то руби кода.
Когда она актуальна:
- Когда нужен продвинутый калькулятор 🙂
- Если нужно быстро написать очень простенькую одноразовую (!) программу
- Если нужно проверить как работает какой-то кусочек кода. Например, вы не уверены в каком-то новом методе, а документация не прояснила ситуацию
- Чтобы наглядно увидеть и еще лучше понять как работает интерпретатор Ruby (сверху вниз, строчка за строчкой).