Shell one-liner: Difference between revisions

m (→‎{{header|Phix}}: marked p2js incompatible)
imported>Tromp
 
(19 intermediate revisions by 11 users not shown)
Line 25:
 
=={{header|ACL2}}==
<langsyntaxhighlight lang="bash">$ acl2 <<< '(cw "Hello.")'</langsyntaxhighlight>
 
=={{header|Ada}}==
Line 31:
'''under a unixoid shell''' (bash, sh, ...)
 
<langsyntaxhighlight lang="bash">echo 'with Ada.text_IO; use Ada.text_IO; procedure X is begin Put("Hello!"); end X;' > x.adb; gnatmake x; ./x; rm x.adb x.ali x.o x</langsyntaxhighlight>
 
Note that this mercilessly overwrites and later deletes any files x.adb, x.ali, x,o and x in the current directory.
 
=={{header|Aikido}}==
<langsyntaxhighlight lang="aikido">echo 'println ("Hello")' | aikido</langsyntaxhighlight>
 
=={{header|Aime}}==
<langsyntaxhighlight lang="sh">$ src/aime -c 'o_text("Hello, World!\n");'</langsyntaxhighlight>
 
=={{header|ALGOL 68}}==
{{works with|ALGOL 68G|Any - tested with release mk15-0.8b.fc9.i386 - Interpret straight off}}
<langsyntaxhighlight lang="bash">$ a68g -e 'print(("Hello",new line))'</langsyntaxhighlight>
Output:
<pre>Hello</pre>
{{works with|ELLA ALGOL 68|Any - tested with release 1.8.8d.fc9.i386 - translate to [[C]] and then compile and run}}
For an [[ELLA ALGOL 68]] one-liner, merge these lines of shell code:
<langsyntaxhighlight lang="bash">code='print(("Hello", new line))'
a=/tmp/algol$$ s=/usr/share/algol68toc;
echo -e "PROGRAM algol$$ CONTEXT VOID\nUSE standard\nBEGIN\n$code\nEND\nFINISH\n" > $a.a68 &&
a68toc -lib $s -dir $s -uname TMP -tmp $a.a68 && rm $a.a68 &&
gcc $s/Afirst.o $a.c -l{a68s,a68,m,c} -o $a && rm $a.c &&
$a; rm $a</langsyntaxhighlight>
Output:
<pre>Hello</pre>
 
=={{header|AppleScript}}==
<langsyntaxhighlight AppleScriptlang="applescript">osascript -e 'say "Hello, World!"'</langsyntaxhighlight>
 
=={{header|Arturo}}==
 
You may run any arbitrary code string directly using the <code>-e</code> (or <code>--evaluate</code>) flag:
 
<syntaxhighlight lang="bash">$ arturo -e:"print {Hello World!}"</syntaxhighlight>
 
{{out}}
 
<pre>Hello World!</pre>
 
=={{header|AWK}}==
Maybe the most common way one can use awk is from the command line for one-liners, feeding the interpreter with an input.
<langsyntaxhighlight lang="bash">$ awk 'BEGIN { print "Hello"; }'</langsyntaxhighlight>
 
A more "complex" and "real" example:
<langsyntaxhighlight lang="bash">$ awk '/IN/ { print $2, $4; }' <input.txt</langsyntaxhighlight>
 
''Select'' field 2 and 4 of lines matching the regular expression <tt>/IN/</tt> (i.e. where IN appears)
Line 71 ⟶ 81:
=={{header|BASIC}}==
The name of the BASIC executable will vary (common ones are ''basic'', ''bas'', and ''bwbasic''), but in general, a short program can be piped to the interpreter like any other language:
<langsyntaxhighlight lang="bash">echo 'print "foo"'|basic</langsyntaxhighlight>
 
Note that under Windows (and presumably DOS) the two apostrophes (a.k.a. single quotes) should be omitted, since Windows doesn't remove them from the piped text (and the apostrophe is the comment character in many modern BASICs):
<langsyntaxhighlight lang="dos">echo print "foo"|basic</langsyntaxhighlight>
 
Also, some popular interpreters (including [http://www.moria.de/~michael/bas/ Michael Haardt's '''bas'''] and [[Chipmunk Basic]]) will include an extra prompt before exiting unless you include <code>exit</code> or <code>system</code> (depending on the specific interpreter's syntax). This sample output shows both with and without <code>system</code> in bas:
Line 94 ⟶ 104:
On the ZX Spectrum, the ROM basic allows direct commands to be entered from the system prompt:
 
<langsyntaxhighlight lang="zxbasic">PRINT "Hello World!"</langsyntaxhighlight>
 
==={{header|BaCon}}===
Line 101 ⟶ 111:
then compile a.bac using bacon then run ./a
 
<langsyntaxhighlight lang="bash">
echo "PRINT \"Hello World\" " > a.bac && bacon a && ./a
</langsyntaxhighlight>
 
Converting 'a.bac'... done, 2 lines were processed in 0.003 seconds.
Line 112 ⟶ 122:
 
=={{header|Bc}}==
<langsyntaxhighlight lang="bash">$ echo 'print "Hello "; var=99; ++var + 20 + 3' | bc</langsyntaxhighlight>
{{out}}
<pre>Hello 123</pre>
 
=={{header|Binary Lambda Calculus}}==
Several such one liners are shown on https://www.ioccc.org/2012/tromp/hint.html, such as
<syntaxhighlight lang="bash">echo "*Hello, world" | ./tromp</syntaxhighlight>
<syntaxhighlight lang="bash">echo "00010001100110010100011010000000010110000010010001010111110111101001000110100001110011010000000000101101110011100111111101111000000001111100110111000000101100000110110" | ./tromp -b | head -c 70</syntaxhighlight>
 
=={{header|Bracmat}}==
Line 120 ⟶ 135:
 
DOS:
<langsyntaxhighlight lang="bracmat">bracmat "put$tay$(e^x,x,20)&"</langsyntaxhighlight>
Linux:
<langsyntaxhighlight lang="bracmat">bracmat 'put$tay$(e^x,x,10)&'</langsyntaxhighlight>
Output:
<pre> 1
Line 148 ⟶ 163:
=={{header|Burlesque}}==
 
<syntaxhighlight lang="text">
Burlesque.exe --no-stdin "5 5 .+"
</syntaxhighlight>
</lang>
 
Using the official interpreter.
Line 159 ⟶ 174:
delete it to avoid to call another shell/system dependent command/program). The
''current directory'' is not specified by <tt>./</tt> in every system...
<langsyntaxhighlight lang="bash">$ echo 'main() {printf("Hello\n");}' | gcc -w -x c -; ./a.out</langsyntaxhighlight>
 
=={{header|C sharp|C#}}==
Line 165 ⟶ 180:
 
Requires PowerShell 2:
<langsyntaxhighlight lang="powershell">> Add-Type -TypeDefinition "public class HelloWorld { public static void SayHi() { System.Console.WriteLine(""Hi!""); } }"
> [HelloWorld]::SayHi()
Hi!</langsyntaxhighlight>
 
=={{header|Clojure}}==
Line 174 ⟶ 189:
clj-env-dir comes with clojure-contrib.
 
<langsyntaxhighlight lang="bash">$ clj-env-dir -e "(defn add2 [x] (inc (inc x))) (add2 40)"
#'user/add2
42</langsyntaxhighlight>
 
=={{header|CMake}}==
This only works with [[Unix]] systems that have the device node <code>/dev/stdin</code>.
 
<langsyntaxhighlight lang="bash">echo 'message(STATUS "Goodbye, World!")' | cmake -P /dev/stdin</langsyntaxhighlight>
 
=={{header|COBOL}}==
Works with GnuCOBOL 2.0 or later
 
<langsyntaxhighlight lang="bash">echo 'display "hello".' | cobc -xFj -frelax -</langsyntaxhighlight>
 
Longer, but avoids two relaxed syntax warnings:
<langsyntaxhighlight lang="bash">echo 'id division. program-id. hello. procedure division. display "hello".' | cobc -xFj -</langsyntaxhighlight>
 
=={{header|Common Lisp}}==
Line 195 ⟶ 210:
 
{{works with|SBCL}}
<langsyntaxhighlight lang="bash">sbcl --noinform --eval '(progn (princ "Hello") (terpri) (quit))'</langsyntaxhighlight>
{{works with|CLISP}}
<langsyntaxhighlight lang="bash">clisp.exe -q -x "(progn (format t \"Hello from CLISP\") (quit))"</langsyntaxhighlight>
 
=={{header|D}}==
{{works with|D|2}}
requires [https://github.com/D-Programming-Language/tools/blob/master/rdmd.d rdmd]
<langsyntaxhighlight lang="d">rdmd --eval="writeln(q{Hello World!})"</langsyntaxhighlight>
<pre>Hello World!</pre>
 
=={{header|Dc}}==
<langsyntaxhighlight lang="bash">dc -e '22 7/p'</langsyntaxhighlight>
=={{header|Delphi}}==
Run in cmd.exe.
<langsyntaxhighlight Batchlang="batch">echo program Prog;begin writeln('Hi');end. >> "./a.dpt" & dcc32 -Q -CC -W- "./a.dpt" & a.exe</langsyntaxhighlight>
The output has the default Delphi header, before the output of executable ("Hi").
 
=={{header|E}}==
<langsyntaxhighlight lang="bash">rune --src.e 'println("Hello")'</langsyntaxhighlight>
 
The <code>--src</code> option ends with the the filename extension the provided type of program would have:
 
<syntaxhighlight lang="text">rune --src.e-awt 'def f := &lt;swing:makeJFrame>("Hello"); f.show(); f.addWindowListener(def _{to windowClosing(_) {interp.continueAtTop()} match _{}}); interp.blockAtTop()'</langsyntaxhighlight>
 
=={{header|Elixir}}==
<langsyntaxhighlight Elixirlang="elixir">$ elixir -e "IO.puts 'Hello, World!'"
Hello, World!</langsyntaxhighlight>
 
=={{header|Emacs Lisp}}==
<langsyntaxhighlight lang="bash">emacs -batch -eval '(princ "Hello World!\n")' </langsyntaxhighlight>
Or another example that does something useful: indent a [[C]] source file:
<langsyntaxhighlight lang="bash">emacs -batch sample.c --eval '(indent-region (point-min) (point-max) nil)' -f save-buffer</langsyntaxhighlight>
 
=={{header|Erlang}}==
Erlang always starts other applications that can run in parallel in the background, and as such will not die by itself. To kill erl, we sequentially run the 'halt' function from the 'erlang' module (the -S is there to guarantee 'halt' will be evaluated after the io function).
<langsyntaxhighlight lang="bash">$ erl -noshell -eval 'io:format("hello~n").' -s erlang halt
hello</langsyntaxhighlight>
 
=={{header|F_Sharp|F#}}==
<langsyntaxhighlight lang="cmd">> echo printfn "Hello from F#" | fsi --quiet
Hello from F#</langsyntaxhighlight>
 
=={{header|Factor}}==
<langsyntaxhighlight lang="bash">$ factor -run=none -e="USE: io \"hi\" print"</langsyntaxhighlight>
 
=={{header|Forth}}==
{{works with|GNU Forth}}
<langsyntaxhighlight lang="bash">$ gforth -e ".( Hello) cr bye"
Hello</langsyntaxhighlight>
 
=={{header|Fortran}}==
This example, stolen from the [[Shell_one-liner#c|c]] example is subject to the same caveats. While contrived, FORTRAN as a one liner can easily handle some unique tasks. Let's plot a Bessel function:
<langsyntaxhighlight lang="bash">
$ gawk 'BEGIN{print"write(6,\"(2(g12.3,x))\")(i/10.0,besj1(i/10.0), i=0,1000)\nend";exit(0)}'|gfortran -ffree-form -x f95 - | gnuplot -p -e 'plot "<./a.out" t "Bessel function of 1st kind" w l'
</syntaxhighlight>
</lang>
Sorry, I don't know how to upload my jpeg file for the Image tag. Let's use the dumb display instead.
<pre>
Line 278 ⟶ 293:
=={{header|Free Pascal}}==
The FPC (Free Pascal compiler) comes with the utility <tt>instantfpc(1)</tt> or <tt>ifpc(1)</tt> for short (Debian or FreeBSD package <tt>fpc-utils</tt>):
<langsyntaxhighlight lang="bash">echo "begin writeLn('Hi'); end." | ifpc /dev/stdin</langsyntaxhighlight>
 
=={{header|FreeBASIC}}==
<langsyntaxhighlight lang="freebasic">' FB 1.05.0 Win64
 
Shell "echo For i As Integer = 1 To 10 : Print i : Next > zzz.bas && fbc zzz.bas && zzz"
Sleep</langsyntaxhighlight>
 
{{out}}
Line 305 ⟶ 320:
The <CODE>-e</CODE> command-line option executes a command or commands and prints its value.
 
<langsyntaxhighlight lang="frink">$ frink -e "factorFlat[2^67-1]"</langsyntaxhighlight>
 
{{out}}
Line 314 ⟶ 329:
=={{header|FutureBasic}}==
This is forcing the issue. FB has much more elegant ways of interacting with the Unix Shell.
<langsyntaxhighlight lang="futurebasic">
includewindow "ConsoleWindow"1,,(0,0,160,120):dimStr255 a$:open "Unix",1,"cal 10 2018":do:line input #1,a$:print a$:until eof(1):close 1:HandleEvents
</syntaxhighlight>
</lang>
 
Output
Line 331 ⟶ 346:
=={{header|Gambas}}==
'''[https://gambas-playground.proko.eu/?gist=4385adf6a841435779a7afff3dadb58b Click this link to run this code]'''
<langsyntaxhighlight lang="gambas">Public Sub Main()
Shell "echo Hello World"
 
End</langsyntaxhighlight>
Output:
<pre>
Line 342 ⟶ 357:
 
=={{header|Gema}}==
<langsyntaxhighlight lang="bash">$ gema -p '\B=Hello\n@end'
Hello</langsyntaxhighlight>
 
=={{header|Go}}==
<langsyntaxhighlight lang="bash">echo 'package main;func main(){println("hlowrld")}'>/tmp/h.go;go run /tmp/h.go</langsyntaxhighlight>
{{out}}
<pre>
Line 354 ⟶ 369:
=={{header|Groovy}}==
{{works with|UNIX Shell}}
<langsyntaxhighlight lang="bash">$ groovysh -q "println 'Hello'"
Hello</langsyntaxhighlight>
 
{{works with|Windows Command Interpreter}}
<langsyntaxhighlight lang="cmd">C:\Users\user> groovysh -q "println 'Hello'"
Hello</langsyntaxhighlight>
 
=={{header|Haskell}}==
<langsyntaxhighlight lang="bash">$ ghc -e 'putStrLn "Hello"'
Hello</langsyntaxhighlight>
 
=={{header|Huginn}}==
Result of an expression is printed by default:
<langsyntaxhighlight lang="bash">$ huginn -c '"Hello"'</langsyntaxhighlight>
Output:
<pre>"Hello"</pre>
Even with an explicit `print` function was used:
<langsyntaxhighlight lang="bash">$ huginn -c 'print("Hello\n")'</langsyntaxhighlight>
Output:
<pre>Hello
none</pre>
Unless the last expression ended with a semicolon:
<langsyntaxhighlight lang="bash">$ huginn -c 'print("Hello\n");'</langsyntaxhighlight>
Output:
<pre>Hello</pre>
Line 384 ⟶ 399:
These examples work with posix shells.
 
<langsyntaxhighlight lang="icon">echo "procedure main();write(\"hello\");end" | icont - -x</langsyntaxhighlight>
 
<langsyntaxhighlight lang="unicon">echo "procedure main();write(\"hello world\");end" >hello.icn; unicon hello.icn -x</langsyntaxhighlight>
 
=={{Header|Insitux}}==
 
When Insitux has been already been installed system-wide (<code>npm i -g insitux</code>).
 
<pre>
$ npx ix -e "(+ 2 2)"
</pre>
 
{{out}}
 
<pre>
4
</pre>
 
=={{header|J}}==
<langsyntaxhighlight lang="bash">$ jconsole -js "exit echo 'Hello'"
Hello</lang>
</syntaxhighlight>
 
Here, the (empty) result of <code>echo</code> is used as the exit code argument for <code>exit</code>. And, since it's empty, the the default exit code of 0 is what's actually used. The exit command here is used to prevent the default behavior of jconsole (which is to start the J [[wp:Command_shell|command shell]]) and to instead return to the OS command shell.
 
We could have instead used:
 
<syntaxhighlight lang="bash">$ :|jconsole -js "echo 'Hello'"
Hello
</syntaxhighlight>
 
for nearly identical behavior, but this issues J's command prompt before exiting. (But since J's command prompt is three space characters, this would be nearly invisible in many contexts, including here because the mediawiki implementation deletes those trailing spaces when rendering this page into html.)
That said, note that J interpreters can themselves be thought of as [[wp:Command_shell|command shells]].
 
=={{header|Java}}==
Line 398 ⟶ 436:
These three lines work with Bourne Shell (or compatible) or C Shell (or compatible), or bash on Unix/Linux/MacOSX/Windows+cygwin
 
<langsyntaxhighlight lang="bash">$ echo 'public class X{public static void main(String[]args){' \
> 'System.out.println("Hello Java!");}}' >X.java
$ javac X.java && java X</langsyntaxhighlight>
 
A user can also enter this as one (very long) line:
 
<langsyntaxhighlight lang="bash">$ echo 'public class X{public static void main(String[]args){System.out.println("Hello Java!");}}'>X.java;javac X.java&&java X</langsyntaxhighlight>
 
{{works with|MS-DOS}} Compatible Environments (such as [[wp:cmd.exe|cmd.exe]])
Works with cmd.exe on Windows (tested on Microsoft Windows XP [Version 5.1.2600])
<langsyntaxhighlight lang="cmd">C:\>echo public class X{public static void main(String[] args){System.out.println("Hello Java!");}}>X.java&&javac X.java&&java X
Hello Java!</langsyntaxhighlight>
 
=={{header|JavaScript}}==
{{works with|SpiderMonkey}}
<langsyntaxhighlight lang="bash">$ js -e 'print("hello")'
hello</langsyntaxhighlight>
 
=={{header|jq}}==
<langsyntaxhighlight lang="sh">$ jq -M -n 1+1
2</langsyntaxhighlight>
 
=={{header|Julia}}==
<langsyntaxhighlight lang="julia">$ julia -e 'for x in ARGS; println(x); end' foo bar
foo
bar</langsyntaxhighlight>
 
=={{header|K}}==
{{works with|Kona}}
<langsyntaxhighlight lang="bash">$ k -e "\`0: \"hello\\n\""</langsyntaxhighlight>
 
=={{header|Kotlin}}==
Line 438 ⟶ 476:
Hello Kotlin!
</pre>
 
=={{header|Lang}}==
This is an example for the Standard Lang implementation of Lang.
<syntaxhighlight lang="lang">
$ lang -e "fn.println(Hello World)"
</syntaxhighlight>
 
=={{header|langur}}==
=== Linux ===
<syntaxhighlight lang="langur">$ langur -e 'writeln "Are we reaching Fiji?"'
</syntaxhighlight>
 
=== Windows ===
<syntaxhighlight lang="langur">C:\> langur /e 'writeln "Are we reaching Fiji?"'
</syntaxhighlight>
 
{{out}}
<pre>Are we reaching Fiji?</pre>
 
=={{header|Lasso}}==
Line 443 ⟶ 499:
From stdin:
 
<langsyntaxhighlight Lassolang="lasso">echo " 'The date and time is: ' + date " | lasso9 --</langsyntaxhighlight>
 
Or alternatively:
 
<langsyntaxhighlight Lassolang="lasso">$ lasso9 -s " 'The date and time is: ' + date "</langsyntaxhighlight>
 
=={{header|Liberty BASIC}}==
<syntaxhighlight lang="lb">
<lang lb>
echo print "hello">oneLiner.bas & liberty -r oneLiner.bas echo print "hello">oneLiner.bas & liberty -r oneLiner.bas
</syntaxhighlight>
</lang>
 
=={{header|Lua}}==
<langsyntaxhighlight lang="bash">lua -e 'print "Hello World!"'</langsyntaxhighlight>
 
=={{header|Maple}}==
<langsyntaxhighlight lang="bash">maple -c'print(HELLO);' -cquit</langsyntaxhighlight>
 
=={{header|Mathematica}}/{{header|Wolfram Language}}==
<langsyntaxhighlight Mathematicalang="mathematica">echo Print[2+2] > file & math.exe -script file</langsyntaxhighlight>
 
=={{header|min}}==
<langsyntaxhighlight lang="min">min -e:"\"hi from min\" puts!"</langsyntaxhighlight>
 
=={{header|Nanoquery}}==
<langsyntaxhighlight lang="bash">nq -e "println \"Hello Nanoquery!\""</langsyntaxhighlight>
 
=={{header|NetLogo}}==
Commands can be entered into the NetLogo Command Center. NetLogo is white-space delimited. Variables can be defined with the LET command and used in the statement. The CC can be in various modes, such as Turtle mode, where entered commands are ran as if contained in an ASK TURTLES statement.
 
=== Observer Mode ===
<syntaxhighlight lang="netlogo">let x 15 ask turtles [ set xcor x set x x + 1 ]</syntaxhighlight>
 
=== Turtle Mode ===
<syntaxhighlight lang="netlogo">right random 90 forward 10</syntaxhighlight>
 
=={{header|NetRexx}}==
{{works with|UNIX Shell}}
Create a temporary file, execute the file via the NetRexx interpreter then delete the temporary file and any files generated via the translation. (i.e. Java class files etc.)
<langsyntaxhighlight lang="bash">
$ TNRX=`mktemp T_XXXXXXXXXXXX` && test ! -e $TNRX.* && (echo 'say "Goodbye, World!"' >$TNRX; nrc -exec $TNRX; rm $TNRX $TNRX.*; unset TNRX)
</syntaxhighlight>
</lang>
 
'''Output:'''
Line 488 ⟶ 553:
 
=={{header|NewLISP}}==
<langsyntaxhighlight NewLISPlang="newlisp">newlisp -e "\"Hello\"
->"Hello"</langsyntaxhighlight>
 
=={{header|Nim}}==
Line 508 ⟶ 573:
=={{header|Objeck}}==
{{works with|UNIX Shell}}
<langsyntaxhighlight lang="bash">./obc -run '"Hello"->PrintLine();' -dest hello.obe ; ./obr hello.obe</langsyntaxhighlight>
 
=={{header|OCaml}}==
<langsyntaxhighlight lang="bash">$ ocaml <(echo 'print_endline "Hello"')
Hello</langsyntaxhighlight>
{{works with|OCaml|4.00+}}
<langsyntaxhighlight lang="bash">$ echo 'print_endline "Hello"' | ocaml -stdin
Hello</langsyntaxhighlight>
 
=={{header|Octave}}==
<langsyntaxhighlight lang="matlab">$ octave --eval 'printf("Hello World, it is %s!\n",datestr(now));'
Hello World, it is 28-Aug-2013 17:53:47!</langsyntaxhighlight>
 
=={{header|Oforth}}==
 
<langsyntaxhighlight Oforthlang="oforth">oforth --P"1000 seq map(#sqrt) sum print"</langsyntaxhighlight>
 
{{out}}
Line 531 ⟶ 596:
 
=={{header|ooRexx}}==
<langsyntaxhighlight lang="bash">
rexx -e "say 'Goodbye, world.'"
</syntaxhighlight>
</lang>
 
=={{header|Oz}}==
This is difficult to do in Oz because the compiler/interpreter always wants the source code in a file and does not read from stdin. We can do somethings like this on Unix-like systems:
<langsyntaxhighlight lang="bash">echo >tmp.oz "{System.show hello}"; ozc -l System -e tmp.oz
hello</langsyntaxhighlight>
 
With <code>-l System</code> we make the System module available so that we can print something.
 
=={{header|PARI/GP}}==
<langsyntaxhighlight lang="bash">echo "print(Pi)" | gp -q</langsyntaxhighlight>
 
=={{header|Pascal}}==
Line 549 ⟶ 614:
 
=={{header|Perl}}==
<langsyntaxhighlight lang="bash">$ perl -e 'print "Hello\n"'
Hello</langsyntaxhighlight>
 
More information about the many ways of invoking perl can be found in [http://perldoc.perl.org/perlrun.html perlrun].
Line 567 ⟶ 632:
=={{header|PHP}}==
assuming you have the PHP CLI (command-line interface) installed, not just the web server plugin
<langsyntaxhighlight lang="bash">$ php -r 'echo "Hello\n";'
Hello</langsyntaxhighlight>
 
=={{header|PicoLisp}}==
<langsyntaxhighlight PicoLisplang="picolisp">$ picolisp -'prinl "Hello world!"' -bye
Hello world!</langsyntaxhighlight>
 
=={{header|Pike}}==
<langsyntaxhighlight lang="bash">$ pike -e 'write("Hello\n");'
Hello</langsyntaxhighlight>
 
=={{header|PowerShell}}==
<langsyntaxhighlight lang="cmd">> powershell -Command "Write-Host 'Hello'"
Hello</langsyntaxhighlight>
 
=={{header|Processing}}==
Line 586 ⟶ 651:
 
In bash:
<langsyntaxhighlight Processinglang="processing">mkdir -p Tmp; echo "println(\"hello world\");" > Tmp/Tmp.pde; processing-java --sketch="`pwd`/Tmp" --run</langsyntaxhighlight>
 
{{out}}
Line 595 ⟶ 660:
=={{header|Prolog}}==
===Command-Line Options===
<langsyntaxhighlight lang="prolog">$ swipl -g "writeln('hello world')." -t 'halt.'
hello world
$</langsyntaxhighlight>
<langsyntaxhighlight lang="prolog">$ gprolog --init-goal "write('goodbye'),nl,halt"
goodbye
$</langsyntaxhighlight>
<langsyntaxhighlight lang="prolog">$ yap -q -g "current_prolog_flag(dialect, D), writeln(D), halt"
yap</langsyntaxhighlight>
=== <<< ===
<langsyntaxhighlight lang="prolog">$ swipl -q <<< "current_prolog_flag(dialect,D), writeln(D), halt."
swi
 
$ yap -q <<< "current_prolog_flag(dialect,D), writeln(D), halt."
yap</langsyntaxhighlight>
=== Pipe ===
<langsyntaxhighlight lang="prolog">$ echo "current_prolog_flag(dialect,D), writeln(D), halt." | swipl -q
swi
 
$ echo "current_prolog_flag(dialect,D), writeln(D), halt." | yap -q
yap</langsyntaxhighlight>
 
=={{header|PureBasic}}==
Runs on Linux with(thanks to) bash. Path variables must be set as decribed in INSTALL.
<langsyntaxhighlight lang="bash">$ echo 'messagerequester("Greetings","hello")' > "dib.pb" && ./pbcompiler dib.pb -e "dib" && ./dib</langsyntaxhighlight>
 
=={{header|Python}}==
===Prints "Hello"===
<langsyntaxhighlight lang="bash">$ python -c 'print "Hello"'
Hello</langsyntaxhighlight>
 
===Web server with CGI===
The python CGIHTTPServer module is also an [[Executable library|executable library]] that performs as a web server with CGI. to start enter:
<syntaxhighlight lang ="bash">python -m CGIHTTPServer</langsyntaxhighlight>
It returns with:
<pre>Serving HTTP on 0.0.0.0 port 8000 ...</pre>
Line 633 ⟶ 698:
=={{header|Quackery}}==
 
<langsyntaxhighlight lang="bash">$ QUACK=$(mktemp); echo "say 'hello'" > $QUACK; quackery $QUACK; rm $QUACK
hello</langsyntaxhighlight>
 
===Via Python 3===
Line 640 ⟶ 705:
As Quackery is implemented as a Python 3 function, assuming that quackery.py is in the module search path:
 
<langsyntaxhighlight lang="bash">$ python3 -c 'import quackery ; quackery.quackery(r""" say '\''hello'\'' cr """)'
hello</langsyntaxhighlight>
 
=={{header|R}}==
<langsyntaxhighlight lang="bash">$ echo 'cat("Hello\n")' | R --slave
Hello</langsyntaxhighlight>
 
Alternatively, using the Rscript front-end,
<langsyntaxhighlight lang="bash">$ Rscript -e 'cat("Hello\n")'
Hello</langsyntaxhighlight>
 
=={{header|Racket}}==
<langsyntaxhighlight lang="bash">$ racket -e "(displayln \"Hello World\")"
Hello World</langsyntaxhighlight>
 
=={{header|Raku}}==
Line 659 ⟶ 724:
{{works with|Rakudo|#22 "Thousand Oaks"}}
 
<langsyntaxhighlight lang="bash">$ raku -e 'say "Hello, world!"'
Hello, world!</langsyntaxhighlight>
 
=={{header|REBOL}}==
<langsyntaxhighlight lang="bash">rebview -vswq --do "print {Hello!} quit" </langsyntaxhighlight>
 
Output:
Line 669 ⟶ 734:
 
=={{header|Retro}}==
<langsyntaxhighlight Retrolang="retro">echo '\'hello s:put nl bye' | retro</langsyntaxhighlight>
 
=={{header|REXX}}==
Note: &nbsp; Regina REXX is the only version of REXX that supports this type of behavior &nbsp; (taking it's input from a console stream).
<langsyntaxhighlight lang="rexx">
╔══════════════════════════════════════════════╗
║ ║
Line 681 ⟶ 746:
 
 
echo do j=10 by 20 for 4; say right('hello',j); end | regina</langsyntaxhighlight>
'''output''' &nbsp; when entering the (above) from the (DOS) command line:
<pre>
Line 691 ⟶ 756:
 
=={{header|Ring}}==
<langsyntaxhighlight lang="ring">
see "Hello World!" + nl
</syntaxhighlight>
</lang>
Output:
<pre>
Hello World!
</pre>
 
=={{header|RPL}}==
RPL command-line interpreter allows to pass several instructions and values in one line, provided there is no program branch instruction among them. It is nevertheless possible to have a program structure in the line by bracketing it with <code>≪ ≫</code>, which means "this is an unnamed program". Adding the word <code>EVAL</code> at the end will execute the code, otherwise it would stay at level 1 of the stack.
" World" "Hello" SWAP +
 
≪ " World" "Hello" SWAP + ≫ EVAL
This less trivial one-liner example calculates S(5), where S(n) is a Machin-like formula :
≪ 0 0 5 '''FOR''' k 2 k * 1 + → n ≪ -1 k ^ n / 4 5 n ^ / 239 n ^ INV - * + ≫ '''NEXT''' 4 * ≫ EVAL
{{out}}
<pre>
3: "Hello world"
2: "Hello world"
1: 3.14159265262
</pre>
 
=={{header|Ruby}}==
From [[Unix]]:
<langsyntaxhighlight lang="bash">$ ruby -e 'puts "Hello"'
Hello</langsyntaxhighlight>
 
{{works with|JRuby}}
<langsyntaxhighlight lang="bash">$ jruby -e 'puts "Hello from JRuby"'
Hello from JRuby</langsyntaxhighlight>
 
{{works with|Rubinius}}
<langsyntaxhighlight lang="bash">$ rbx -e 'puts "Hello from Rubinius"'
Hello from Rubinius</langsyntaxhighlight>
 
=={{header|Run BASIC}}==
<langsyntaxhighlight lang="bash">print shell$("echo hello world")</langsyntaxhighlight>
 
=={{header|Rust}}==
Line 719 ⟶ 798:
delete it to avoid to call another shell/system dependent command/program). The
''current directory'' is not specified by <tt>./</tt> in every system...
<langsyntaxhighlight lang="bash">$ echo 'fn main(){println!("Hello!")}' | rustc -;./rust_out</langsyntaxhighlight>
 
=={{header|S-lang}}==
<langsyntaxhighlight Slang="s-lang">slsh -e 'print("Hello, World")'</langsyntaxhighlight>
 
Or, in MSW cmd.exe:
 
<langsyntaxhighlight Slang="s-lang">slsh -e "print(\"Hello, World\")"</langsyntaxhighlight>
 
Note that print() is included w/slsh, but is not part of S-Lang itself.
Line 732 ⟶ 811:
=={{header|Scala}}==
{{libheader|Scala}}
<langsyntaxhighlight lang="cmd">C:\>scala -e "println(\"Hello\")"
Hello</langsyntaxhighlight>
<langsyntaxhighlight lang="cmd">
PS C:\> scala -e 'println(\"Hello\")'
Hello</langsyntaxhighlight>
 
The escaping of quotes is required by Windows.
Line 744 ⟶ 823:
=={{header|Scheme}}==
{{works with|Guile}}
<langsyntaxhighlight lang="scheme">guile -c '(display "Hello, world!\n")'</langsyntaxhighlight>
 
=={{header|sed}}==
The first non-option argument is interpreted as the script.
<syntaxhighlight lang="sh">$ sed q /proc/meminfo</syntaxhighlight>
Alternatively, scripts can be passed via the <code>-e</code> option.
<syntaxhighlight lang="sh">$ sed -e 's/[[:space:]]*$//' -e '/./!d' file.txt</syntaxhighlight>
 
=={{header|Shiny}}==
<langsyntaxhighlight lang="shiny">shiny -e "say 'hi'" </langsyntaxhighlight>
 
=={{header|Sidef}}==
<langsyntaxhighlight lang="ruby">% sidef -E "say 'hello'"</langsyntaxhighlight>
 
=={{header|Slate}}==
<langsyntaxhighlight lang="slate">./slate --eval "[inform: 'hello'] ensure: [exit: 0].".</langsyntaxhighlight>
 
=={{header|SNOBOL4}}==
Portable version
<langsyntaxhighlight lang="snobol">echo 'a output = "Hello, World!";end' | snobol4 -b</langsyntaxhighlight>
 
Bash version
<langsyntaxhighlight lang="snobol">snobol4 -b <<<'a output = "Hello, World!";end'</langsyntaxhighlight>
 
=={{header|Tcl}}==
This is an area where Tcl is lacking, though when shell one-liners are required a construct like this is typically used:
<langsyntaxhighlight lang="bash">$ echo 'puts Hello' | tclsh
Hello</langsyntaxhighlight>
 
=={{header|TXR}}==
 
<langsyntaxhighlight lang="bash">$ echo 123-456-7890 | txr -c '@a-@b-@c' -
a="123"
b="456"
c="7890"
</syntaxhighlight>
</lang>
 
Most useful txr queries consist of multiple lines, and the line structure is important. Multi-liners can be passed via <code>-c</code> easily, but there is no provision in the syntax that would allow multi-liners to be actually written as one physical line. There are opposite provisions for splitting long logical lines into multiple physical lines.
Line 780 ⟶ 865:
TXR Lisp:
 
<langsyntaxhighlight lang="bash">$ txr -p '(+ 2 2)'
4</langsyntaxhighlight>
 
<langsyntaxhighlight lang="bash">$ txr -e '(mkdir "foo" #o777)'
$ ls -ld foo
drwxrwxr-x 2 kaz kaz 4096 Mar 4 23:36 foo</langsyntaxhighlight>
 
=={{header|UNIX Shell}}==
Explicit call of the shell, passing the shell command via the <code>-c</code> option:
<syntaxhighlight lang ="bash">$ sh -c ls</langsyntaxhighlight>
<langsyntaxhighlight lang="bash">$ sh -c "echo hello"</langsyntaxhighlight>
 
To invoke a specific shell like [[Bash]], [[Korn Shell]] or [[Z Shell]]:
 
<langsyntaxhighlight lang="bash">$ bash -c 'paste <(echo 1) <(echo 2)'
$ ksh -c 'let i=3+4; print $i'
$ zsh -c 'if [[ 5 -lt 6 ]] { echo ok };'</langsyntaxhighlight>
 
Shell scripts almost never use <code>sh -c</code>, because there are various implicit ways whereby the shell command language evaluates a command in a subshell:
 
<langsyntaxhighlight lang="bash">$ VAR=`echo hello` # obsolescent backtick notation
$ VAR=$(echo hello) # modern POSIX notation
$ (echo hello) # execute in another shell process, not in this one</langsyntaxhighlight>
 
There are more details about <code>`echo hello`</code> and <code>$(echo hello)</code> at [[Execute a system command#UNIX Shell]].
Line 809 ⟶ 894:
Run a C shell command from any shell:
 
<langsyntaxhighlight lang="bash">$ csh -fc 'if (5 < 6) echo ok'</langsyntaxhighlight>
 
==={{header|es}}===
Run a command, in extensible shell, from any shell:
 
<langsyntaxhighlight lang="bash">$ es -c 'if {test 5 -lt 6} {echo ok}'</langsyntaxhighlight>
 
=={{header|Ursala}}==
The command to execute the Ursala compiler is fun. An expression supplied as a parameter to the --main option is compiled and evaluated. If the expression evaluates to a list of character strings, it can be displayed on standard output with --show. If it's some other type, it can be formatted for display by --cast <type expression>,
 
<langsyntaxhighlight lang="bash">$ fun --main=-[hello]- --show
hello
$ fun --main="power/2 32" --cast %n
4294967296
$ fun --m="..mp2str mpfr..pi 120" --c %s
'3.1415926535897932384626433832795028847E+00'</langsyntaxhighlight>
 
=={{header|Vedit macro language}}==
The following DOS command starts Vedit and displays a message.
When the user presses any key, Vedit exits.
<langsyntaxhighlight lang="cmd">vpw -c'Get_Key("Hello!") exit'</langsyntaxhighlight>
 
=={{header|Wart}}==
<langsyntaxhighlight lang="bash">echo "prn 34" |wart</langsyntaxhighlight>
 
=={{header|Wren}}==
<langsyntaxhighlight lang="bash">echo 'System.print("Hello from Wren!")' > tmp.wren; wren tmp.wren</langsyntaxhighlight>
 
{{out}}
Line 844 ⟶ 929:
=={{header|zkl}}==
With a unix like shell, just pipe the program into the REPL. Kinda greasy and noisy. To shut it up, send stdout to /dev/null
<langsyntaxhighlight lang="bash">echo 'println("Hello World ",5+6)' | zkl</langsyntaxhighlight>
{{out}}
<pre>
Anonymous user