On 2014-11-26 00:04, Tim Daneliuk wrote: > someprog.py uname && sudo cat /etc/sudoers > > vs. > > someprog.py uname && echo "sudo cat /etc/suoders" > > > In the first instance, I need the sudo passoword, in the second I > don't.
This doesn't jibe with the pairs of quotes you sent and your request for nesting. In most popular shells, the majority of your "quote" characters don't actually quote anything: bash$ echo // hello hello bash$ echo /* hello */ [returns all the items in my root directory, the word "hello", along with all the sub-directories in the current directory] bash$ echo this#and#that this#and#that bash$ echo this # and #that this and has problems with things like someprog.py uname && su""do cat /etc/sudoers someprog.py uname && s"ud"o cat /etc/sudoers which my shell will parse valid execution of sudo. You state the problem as "I *just* want to find whether something is quoted or not", but you have to clearly define what quoted means. The standard library does provide the shlex module which comes fairly close to what it sounds like you describe: def is_sudo(corpus): return "sudo" in shlex.split(corpus, comments="#") but that still hiccups on >>> is_sudo("echo I love sudo") True -tkc -- https://mail.python.org/mailman/listinfo/python-list