fix a string bug that occurs when using both dshell and Json module
fix a dscript bug that cannot separate multiple commands inside a function
support dollar variable, command replace and getenv in shell command
use for stmt instead of while in dshell
support change directory (cd) in dshell