With Unix shells such as bash and [t]csh, you can set the value of a variable to the result of a command using the back-tick operator (or
output replacement). For example,
LINES = `wc -l filename`, would set the variable LINES with the result of
wc -l, which is the number of lines in filename. This technique is useful when you want pass the value of a computed variable to subsequent commands in a script.
Windows' cmd.exe also supports this feature, in a obscure way, using the
for /f %i in ('command') do set VARIABLE=%i. To reproduce the previous example in cmd.exe:
for /f %i in ('wc -l filename') do set LINES=%i.
%%iin a script.
- Use single-quote marks to delimit a command. If you use double-quote marks,
fortreats the argument in parentheses as a string.
I saw this and other cmd.exe hacks somewhere but I didn't take a note of it. Grr. Remind myself to update this page when I find that site again.