# JavaScript Shell Scripting ## Metadata **Status**:: #x **Zettel**:: #zettel/fleeting **Created**:: [[2026-01-31]] **URL**:: [google/zx](https://google.github.io/zx/) **Related**:: [[Python 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.