# JavaScript Shell Scripting ## Synopsis ```javascript #!/usr/bin/env -S bunx zx cd(os.homedir()) echo(await
ls`) ``` Zx uses `bash` as the shell. In Windows, WSL will add `bash.exe` into System32. Setting it to `sh.exe` from Git for Windows can resolve the name conflict. []() ```javascript #!/usr/bin/env -S bunx zx os.platform() == "win32" && ($.shell = "sh.exe") echo(await
uname -a`) // -> MINGW64_NT... ``` Zx uses the JavaScript feature [[JavaScript Tagged Templates]] to quote everything passed through `${...}`. It also supports array and promise.