Tôi thích javascript, vì vậy tôi rất vui khi tôi nghe nói về Node.js, thời gian chạy Javascript dựa trên V8. Tôi muốn làm kịch bản shell của tôi trong tương lai. Vấn đề của tôi là: làm thế nào tôi có thể chạy tập lệnh của mình mà không cần gọi số node ~/Scripts/myscript.js
? Sau khi tôi chmod +x
tập lệnh của mình, nó cố gắng chạy dưới dạng tập lệnh bash thay vì javascript Node.js.Có thể chạy các kịch bản lệnh Node.js mà không cần gọi `nút` không?
Trả lời
Làm cho vỏ hiện tại của bạn bắt đầu bash là vỏ hiện tại của bạn (bash?) Không có đầu mối về việc phải làm gì với tệp.js. Đó là lý do tại sao các vị thần của unix đã phát minh ra shebang cho:
Chuỗi ký tự bao gồm ký tự số và dấu chấm than (#!), Khi nó xuất hiện dưới dạng hai ký tự đầu tiên trong dòng đầu tiên của tệp văn bản. Trong trường hợp này, trình tải chương trình trong các hệ điều hành giống Unix phân tích phần còn lại của dòng đầu tiên như một chỉ thị thông dịch và gọi chương trình được chỉ định sau chuỗi ký tự với bất kỳ tùy chọn dòng lệnh nào được chỉ định làm tham số.
Vì vậy, trong trường hợp của bạn tôi sẽ cố gắng đưa
#!/usr/bin/env node
ở phía trên cùng của kịch bản. Bạn có thể thấy rằng beeing được áp dụng cho ví dụ trong vỏ 'inode' (tương tác node.js), có thể là một tùy chọn khác để kích hoạt các script của bạn.
https://github.com/bancek/node-interactive-shell/blob/master/inode.js
Thực ra anh ấy nên sử dụng '#!/Usr/bin/env node'. PS: Có Node được cài đặt dưới dạng root ... là ý tưởng tồi, luôn cài đặt nó trong '~/.local', bạn cũng nên cài đặt npm ở đó. Nếu không, người ta phải sudo npm để cài đặt các công cụ, và các gói nút có thể có các kịch bản cài đặt sau;) –
@Ivo Wetzel làm cách nào để di chuyển cài đặt Node.js của tôi sang ~/.local? Tôi có nên gỡ cài đặt và cài đặt lại không? Tôi xây dựng từ nguồn bằng cách sử dụng 'make' –
Gỡ cài đặt hiện tại và sau đó tham khảo ý kiến này: https://gist.github.com/579814#file_xgd_freedesktop.org_style.sh –
Bạn luôn có thể chỉ đơn giản là tạo ra một kịch bản shell chạy nút cho bạn.
Hoặc, nếu bạn muốn tạo tập lệnh có thể chạy trong môi trường chưa cài đặt node.js, bạn có thể sử dụng installer-maker.
- 1. Chạy lệnh shell từ Node.js mà không cần lưu vào bộ đệm
- 2. Có thể chạy tập lệnh Selenium mà không cần chạy máy chủ X không?
- 3. Có thể tự động cài đặt các mô-đun cần thiết cho tập lệnh node.js không?
- 4. Thực thi lệnh đơn trong kịch bản lệnh shell mà không có sudo
- 5. Có thể biết được kịch bản nào mà quy trình python đang chạy không?
- 6. Gọi chức năng Lua mà không thực hiện kịch bản
- 7. Các kịch bản SQL Server có thể chạy lại
- 8. thực thi kịch bản lệnh shell mà không gọi sh ngầm rõ ràng
- 9. Chạy các kịch bản lệnh bằng vải như là root
- 10. Kịch bản không được gọi là
- 11. Chạy PHP mà không có phần mở rộng mà không cần sử dụng mod_rewrite?
- 12. Tôi có thể chạy Node.JS với đặc quyền thấp không?
- 13. Có thể sử dụng các biến môi trường trong kịch bản lệnh Inno Setup không?
- 14. Chạy tập lệnh perl trên windows mà không cần mở rộng
- 15. Làm thế nào để gọi một nút lệnh mà không xác nhận tất cả các đầu vào cần thiết?
- 16. Chạy các kịch bản Groovy từ Gradle
- 17. Giấy chứng nhận Đăng ký mà không cần nhắc trong vỏ kịch bản
- 18. chạy BLAST (bl2seq) mà không cần tạo chuỗi file
- 19. Có thể xuất các kịch bản thay đổi SQL mà 'rake db: migrate' tạo ra không?
- 20. Có thể thay đổi phiên bản Hành khách Ruby mà không cần biên dịch lại không?
- 21. Có thể chạy lệnh Rails đơn trên Heroku mà không có 'bảng điều khiển chạy heroku'?
- 22. Không thể có được kịch bản cơ bản Powershell chạy bên Đội bóng thành phố
- 23. Không thể lấy kịch bản Upstart của tôi để chạy Node.js và Forever khi máy chủ khởi động lại
- 24. Kịch bản Django để truy cập các đối tượng mô hình mà không cần sử dụng manage.py shell
- 25. Có thể viết kịch bản lệnh shell nhanh hơn tập lệnh tương đương trong Perl không?
- 26. UIKeyboardTypeNumberPad mà không cần thực hiện nút
- 27. Subprocess.call có thể được gọi mà không cần chờ quá trình kết thúc không?
- 28. Có thể chạy trò chơi XNA mà không cần .NET hoặc XNA không?
- 29. không thể chạy node.js trên điện thoại Android?
- 30. Chạy tập lệnh khi khởi động Windows mà không cần người dùng đăng nhập
imho này thuộc về stackoverflow.com – akira
@akira Tôi đăng nó ở đây vì nó liên quan đến việc sử dụng công cụ hơn là các chủ đề lập trình. Câu hỏi của tôi là về cách một hệ điều hành xử lý các tệp kịch bản, không phải về cách lập trình các tập lệnh đã nói. –
Thực sự khá dễ dàng để thực hiện điều này trong Geany: http://stackoverflow.com/questions/12464679/run-a-node-js-server-from-geany/12465826#12465826 –