blog.dopana

Back

Bun Shell là một shell tương thích cross-platform kiểu bash được tích hợp sẵn trong runtime Bun, giúp bạn thực thi các lệnh shell dễ dàng ngay bên trong JavaScript và TypeScript mà không cần phụ thuộc vào các công cụ bên ngoài.

Bắt đầu với Bun Shell#

Để sử dụng Bun Shell, bạn chỉ cần import hàm $ từ package bun. Hàm $ là một tagged template literal, chạy lệnh được truyền vào và trả về một Promise chứa kết quả của lệnh đó.

index.ts
import { $ } from "bun";

await $`echo Hello, world!`; // => "Hello, world!"
ts

Đọc kết quả đầu ra (Output)#

Bạn có thể sử dụng phương thức .text() để lấy toàn bộ dữ liệu đầu ra dưới dạng chuỗi string:

index.ts
import { $ } from "bun";

const output = await $`ls -l`.text();
console.log(output);
ts

Duyệt từng dòng đầu ra với lines()#

Để lặp và xử lý từng dòng của kết quả trả về, bạn có thể sử dụng phương thức .lines() kết hợp với vòng lặp for await:

index.ts
import { $ } from "bun";

for await (const line of $`ls -l`.lines()) {
  console.log(line);
}
ts

Tài liệu tham khảo#