4 ms·
I generally agree with your response. My only slight irritation is with how you wrote out the Python code. It looks a bit...uglier? and more verbose than it nee
by IamBren 14y ago
I generally agree with your response. My only slight irritation is with how you wrote out the Python code. It looks a bit...uglier? and more verbose than it needs to be, especially compared to the others. This looks better to me:
from commands import getoutput
if getoutput('which bash') == '/bin/bash':
do_stuff()
Although if your goal is to determine if e.g. bash is located in /bin, then I would do:
bash:
if [ -e '/bin/bash' ];
then
do_stuff
fi
(I don't know Ruby.)
Python:
import os.path
if os.path.exists('/bin/bash'):
do_stuff()
I know I'm just splitting hairs. :)
- lobster_johnson 14y agoThe point was definitely not the logic of the examples! Rather to show three core similarities/differences: * Ruby has bashisms like `foo`; Python requires a function call. * Ruby has a nesting syntax similar to bash with if/end; Python is whitespace-sensitive. * Ruby has method calls without parentheses, similar to bash commands, whereas Python requires them. > Although if your goal is to determine if e.g. bash is located in /bin, Actually, that was not the goal at all. The goal (which, again, is irrelevant to my point) was to determine if the PATH-resolved executable binary "foo" was in a specific location. Rest assured that I would not use "which" in a real-life app. :-) (Thanks for commands.getoutput(), my Python is rusty.)