Node.js ngày nay rất phổ biến và tôi đã viết một số tập lệnh trên đó. Thật không may, khả năng tương thích là một vấn đề. Chính thức, trình thông dịch Node.js được gọi là node
, nhưng Debian và Ubuntu gửi một tệp thực thi được gọi nodejs
thay thế.
Tôi muốn các tập lệnh di động mà Node.js có thể làm việc với càng nhiều tình huống càng tốt. Giả sử tên tệp là foo.js
, tôi thực sự muốn tập lệnh chạy theo hai cách:
./foo.js
chạy tập lệnh nếu một trong hainode
hoặcnodejs
trong$PATH
.node foo.js
cũng chạy tập lệnh (giả sử trình thông dịch được gọinode
)
Lưu ý: Các câu trả lời của xavierm02 và bản thân tôi là hai biến thể của tập lệnh polyglot. Tôi vẫn quan tâm đến một giải pháp shebang tinh khiết, nếu như vậy tồn tại.
alphacentauri
và như vậy. Nếu có một tệp thực thi được gọi nodejs
, bạn có thể chắc chắn 99% đó là Node.js. Tại sao không hỗ trợ cả hai nodejs
và node
?
node
cho tập lệnh của mình hoặc có một loại tập lệnh tạo sửa đổi shebang.