zx を使うとコマンドの実行をこう書けます
const path = "/tmp"
await $`cd ${path}`
$ は zx が提供する関数です
テンプレートリテラルのタグ関数として動作します
C# でも似たことをやってるコードを見かけました
var path = @"C:\tmp"
await $"cd {path}"
どうやってるのだろうと思いましたが C# の場合は $ は文字列中の埋め込みのために付けるもので 見た目は似てますが JavaScript とは違います
文字列の await で実行される処理を追加してるらしいです
それなら JavaScript もできるかもと思って
String.prototype.then = function() {
// なにか処理
}
await "echo 1"
のようにしてみましたが await では 文字列の then は呼び出されませんでした
thenable オブジェクトと呼ばれるだけあって オブジェクトでないとダメそうです