Acting on one of a billion newstips from co-workers, I’m kicking the tires on Xonsh. It is an attempt to weld python onto a shell so you get a lot of pythonic computational goodness as though you were in a python interpreter, but it also gives you a more shell-like insight into the OS. Hard to tell my thoughts yet -feels like a reasonable, clever extension of bash but with some thought having been given to not clobber itself. For example, bash would see $X and ${X} the same way. Xonsh uses the redundancy to use the ${X} mode for an extension that leverages Python’s dict notation but retains the basic regard as an env. variable. Using ${X} in xonsh implies that X can be anything expressive of a string which will subsequently be a varible. For instance, ${a + b} where a=’PYTHON’ and b=’PATH’ will return $PYTHONPATH. This could be useful in iterating over files in a programmatic way. It may seem trivial but I do like the ability to essentially have a full command like calculator at my fingers without entering a python or some other interpreter. I’m still working through tutorial so more thoughts later. Oh, also, the !{command} is also nice: it returns a class object with lots of details about the command which is run and itself can be directly evaluated as a truth. So you can do stuff like if !{‘ls mybooks} which proceeds if ‘mybooks’ exists. Compare to the $? use in bash.
