arcticicestudio / snowsaw

A lightweight, plugin-driven and dynamic dotfiles bootstrapper.
MIT License
98 stars 8 forks source link

The re-implementation of snowsaw in go cannot handle complex shell commands #98

Open xulongwu4 opened 2 years ago

xulongwu4 commented 2 years ago

One of the core tasks of snowsaw is its capability of running shell commands by using a shell field in the snowblock.json file. In the python implementation of snowsaw, user can use complex shell commands such as echo a || echo b in the command field and it will be handled correctly. However, in the go implementation of snowsaw, such command cannot be executed correctly. I believe this is because the code will take the first word -- echo in the example -- as the command name, and interpret everything else -- a || echo b in the example -- as the parameters of the command.

This breaks the backward compatibility of the snowsaw tool.