3 ms·
~/s/m/build > cat test.sh #!/bin/sh echo $(case x in x) echo foo;; esac) ~/s/m/build > mrsh -n test.sh program program └─command_list ─
by Sir_Cmpwn 8y ago
~/s/m/build > cat test.sh
#!/bin/sh
echo $(case x in x) echo foo;; esac)
~/s/m/build > mrsh -n test.sh
program
program
└─command_list ─ pipeline
└─simple_command
├─name ─ word_string [2:1 → 2:5] echo
└─argument 1 ─ word_command ─ program
└─command_list ─ pipeline
└─case_clause
├─word ─ word_string [2:13 → 2:14] x
└─items
└─case_item
├─patterns
│ └─word_string [2:18 → 2:19] x
└─body
└─command_list ─ pipeline
└─simple_command
├─name ─ word_string [2:21 → 2:25] echo
└─argument 1 ─ word_string [2:26 → 2:29] foo
- chubot 8y agoOK it looks like mrsh is parsing command subs at parse time, which is good! bash doesn't do that.