erb - Man Page

Ruby Templating


erb[--version] [-UPdnvx] [-E ext[:int]] [-S level] [-T mode] [-r library] [--] [file ...]


erb is a command line front-end for ERB library, which is an implementation of eRuby.

ERB provides an easy to use but powerful templating system for Ruby. Using ERB, actual Ruby code can be added to any plain text document for the purposes of generating document information details and/or flow control.

erb is a part of Ruby.



Prints the version of erb.

-E external[:internal]
--encoding external[:internal]

Specifies the default value(s) for external encodings and internal encoding. Values should be separated with colon (:).

You can omit the one for internal encodings, then the value (Encoding.default_internal) will be nil.


Disables ruby code evaluation for lines beginning with %.

-S level

Specifies the safe level in which eRuby script will run.

-T mode

Specifies trim mode (default 0). mode can be one of


EOL remains after the embedded ruby script is evaluated.


EOL is removed if the line ends with %>.


EOL is removed if the line starts with <% and ends with %>.


EOL is removed if the line ends with -%>. And leading whitespaces are removed if the erb directive starts with <%-.


Load a library


can be one of Sets the default value for internal encodings (Encoding.default_internal) to UTF-8.


Turns on debug mode. $DEBUG will be set to true.


Prints a summary of the options.


Used with -x. Prepends the line number to each line in the output.


Enables verbose mode. $VERBOSE will be set to true.


Converts the eRuby script into Ruby script and prints it without line numbers.


Here is an eRuby script

<?xml version="1.0" ?>
<% require 'prime' -%>
  <calc><%= 1+1 %></calc>
  <var><%= __FILE__ %></var>
  <library><%= Prime.each(10).to_a.join(", ") %></library>


% erb -T - example.erb


<?xml version="1.0" ?>
  <library>2, 3, 5, 7</library>

See Also


And see ri(1) documentation for ERB class.

Reporting Bugs


Written by Masatoshi SEKI.


December 16, 2018