A quick Mac OSX question


#1

Does mac osx supports the “2>&1” syntax to redirect stderr?

In other words, does the following line of code work as expected in mac
osx?

output = some_command 2>&1


#2

On Jan 9, 2009, at 6:11 AM, Albert S. wrote:

Does mac osx supports the “2>&1” syntax to redirect stderr?

In other words, does the following line of code work as expected in
mac
osx?

output = some_command 2>&1

Posted via http://www.ruby-forum.com/.

Yes:

ratdog:~ mike$ uname -a
Darwin ratdog.local 9.6.0 Darwin Kernel Version 9.6.0: Mon Nov 24
17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386 i386
ratdog:~ mike$ irb

output = perl -e 'die "Aaargh!"'
Aaargh! at -e line 1.
=> “”

output = perl -e 'die "Aaargh!"' 2>&1
=> “Aaargh! at -e line 1.\n”

Mike S. removed_email_address@domain.invalid
http://www.stok.ca/~mike/

The “`Stok’ disclaimers” apply.


#3

Albert S. removed_email_address@domain.invalid writes:

Does mac osx supports the “2>&1” syntax to redirect stderr?

In other words, does the following line of code work as expected in mac
osx?

output = some_command 2>&1

As long as you use bash instead of tcsh, yes.

bash -c ’ output = some_command 2>&1 ; echo “$output” ’

Notice than nowdays we can use $(some_command 2>&1) instead of the
backquotes, which is nice because you can nest them:

bash -c ’ msg=$(printf “%dnd result = %s” $(( 1 * 2 * 3 * 7 )) “$(echo
“Do not panic”)” ) ; echo “$msg” ’
42nd result = Do not panic

Or use chsh to switch to bash:
http://www.macshadows.com/kb/index.php?title=Changing_your_shell_on_Mac_OS_X