+command is an interactive C# shell and scripting host that allows
+the user to enter and evaluate C# statements and expressions from
+the command line or execute C# scripts.
+The regular
+.I mcs
+command line options can be used in this version of the compiler.
+.PP
+Files specified in the command line will be loaded and executed as
+scripts.
+.PP
+Starting with Mono 2.10, the
+.I csharp
+command can be used as an interpreter executed by executables flagged
+with the Unix execute attribute. To do this, make the first line of
+your C# source code look like this:
+.PP
+.nf
+ #!/usr/bin/csharp
+ Console.WriteLine ("Hello, World");
+.fi
+.PP
+Starting with Mono 5.0, command line arguments may now be passed
+to the
+.I csharp
+command by specifying either the
+.I -s
+or
+.I --
+(script) options.
+.PP
+The
+.I -s
+option is ideal for interpreting executable scripts that utilize
+shebang syntax (introduced in Mono 2.10). This allows command line
+arguments to be passed to and consumed cleanly by the script:
+.PP
+.nf
+ #!/usr/bin/csharp -s
+ foreach (var arg in Args)
+ Console.WriteLine ($"script argument: {arg}");
+.fi
+.SH OPTIONS
+The commands accept all of the commands that are available to the
+.I mcs
+command, so you can reference assemblies, specify paths, language
+level and so on from the command line. In addition, the following
+command line options are supported:
+.TP
+.I "\-s" SCRIPT_FILE
+This option is ideal for authoring executable scripts that utilize
+the Unix shebang feature. Unix will implicitly append as an argument
+the path of the script to execute. When the executable is invoked,
+any arguments then passed to it will be available in the
+.I Args
+global. Example:
+.I "#!/usr/bin/env csharp -s"
+.TP
+.I "\-\-"
+Any arguments that follow will not be passed to the compiler driver,
+and instead will be made available in the
+.I Args
+global. Example:
+.I csharp -- a b c
+will result in Args = { "a", "b", "c" } in the interactive shell.
+.TP
+.I "\-\-attach"
+This is an advanced option and should only be used if you have a deep
+understanding of multi-threading. This option is availble on the
+.I csharp
+command and allows the compiler to be injected into other processes.
+This is done by injecting the C# shell in a separate thread that runs
+concurrently with your application. This means that you must take
+special measures to avoid crashing the target application while using
+it. For example, you might have to take the proper locks before
+issuing any commands that might affect the target process state, or
+sending commands through a method dispatcher.
+.TP
+.I "\-e" EXPRESSION
+This will evaluate the specified C# EXPRESSION and exit