NodeJS là một môi trường thời gian chạy đa nền tảng, mã nguồn mở, sử dụng JavaScript để tạo các ứng dụng phía máy chủ nhanh, sử dụng nhiều dữ liệu và an toàn. Nó cũng có thể chạy trực tiếp các tệp bash. Tệp bash là một tệp chứa tập lệnh để chạy các lệnh khác nhau theo từng dòng. Tệp bash có thể thực thi như một tiến trình con. Để chạy một tiến trình con, một mô-đun tiến trình con có thể sử dụng nhiều phương thức khác nhau để bắt đầu một tiến trình con, một trong những phương thức dễ thực hiện là phương thức spawn[]. Hi vọng bài viết này hướng dẫn các bạn chạy các file batch trong NodeJS
Về cơ bản, tôi muốn chạy tệp bat này trước khi chạy bất kỳ tập lệnh TC thông thường nào cho ứng dụng web của mình. Tôi đã có sẵn tất cả các tập lệnh ứng dụng web của mình, nhưng tôi không chắc cách khởi chạy tệp bat/làm cho tệp chạy khi bắt đầu thử nghiệm
Xin cảm ơn, Heidi / Chuyên gia đảm bảo chất lượng
thẻ neo này sẽ thực thi [kiểm tra. bat] tập tin bó. Sau khi nhấp vào liên kết, bạn sẽ nhận được cửa sổ nhắc mở/lưu/đóng, nếu bạn nhấp vào mở thì tệp hàng loạt sẽ được thực thi
Trong bài viết này, chúng ta sẽ xem làm thế nào bạn có thể chạy một tệp bó với đầu vào và nhận tệp đầu ra trong Node. js. Tệp bó là tệp tập lệnh lưu trữ lệnh sẽ được thực thi theo thứ tự nối tiếp
Nút. js về bản chất là không đồng bộ, nó không đợi tệp thực thi kết thúc quá trình thực thi. Thay vào đó, nó gọi các hàm xác định thời điểm tệp thực thi được thực thi và do đó, nó cố gắng in dữ liệu ngay cả khi nó chưa tìm nạp
Giải pháp. Giải pháp là sử dụng một nút. js có tên là Quy trình con. Quá trình con chứa một phương thức 'sinh ra' sinh ra quá trình con không đồng bộ mà không chặn Nút. js
Hãy xem quy trình hoàn chỉnh từng bước
Bước 1. Tạo một thư mục, bên trong thư mục này tạo ứng dụng. tệp js, đầu vào. txt và bash. tập tin sh. đầu vào bên trong. tệp txt và bash. tập tin sh viết mã dưới đây
đầu vào. txt
Hello Geeks!
đánh đập. sh
#!/bin/bash input=`cat -` echo "Input: $input"
Bước 2. Định vị thư mục này vào thiết bị đầu cuối và gõ lệnh
npm init -y
Nó khởi tạo nút của chúng tôi. ứng dụng js
Bước 3. Cài đặt các mô-đun Quy trình con bên trong dự án bằng lệnh sau
node install child_process
Bước 4. Bên trong 'ứng dụng. js', yêu cầu mô-đun Quy trình con và tạo hằng số 'bash_run' để thực thi tệp bash
const childProcess = require["child_process"]; const bash_run = childProcess.spawn[ '/bin/bash',["test.sh"],{env: process.env}];
Bước 5. Bây giờ, hãy sử dụng phương thức 'stdout' để in kết quả và 'stderr' để in lỗi.
bash_run.stdout.on['data', function [data] { console.log['stdout: ' + data]; }]; bash_run.stderr.on['data', function [data] { console.log['stderr: ' + data]; }];
Bước 6. Bây giờ, hãy sử dụng Mô-đun hệ thống tệp để tạo Đọc và ghi luồng cho các tệp đầu vào và đầu ra tương ứng. Sau đó, chúng tôi sẽ gửi kết quả nhận được của tệp văn bản đầu vào sang tệp văn bản đầu ra bằng phương thức bash_run mà chúng tôi đã tạo trước đó