Pageferry
Câu hỏi thường gặp

Câu trả lời gỡ lỗi Bash: mã thoát, đối số và trình kiểm tra cú pháp

05

Kiến thức cơ bản về Bash

Chế độ gỡ lỗi bash giúp ích gì khi tập lệnh bị lỗi?

Tùy chọn -x khiến Bash in ra mọi lệnh, cùng với các đối số đã được mở rộng, ngay trước khi nó chạy, giúp bạn thấy chính xác nơi tập lệnh gặp sự cố. Bạn khởi chạy nó bằng lệnh bash -x script.sh trong WSL hoặc trên hệ thống Linux do bạn sở hữu, và đặt -eu để dừng quá trình chạy tại lỗi đầu tiên hoặc biến chưa được khởi tạo. Trong Pageferry, thẻ Shell giữ chuỗi ghi chép này cùng với mã thoát thực tế.

Trình kiểm tra cú pháp bash là gì và khi nào nên chạy nó?

Trình kiểm tra cú pháp bash là một chương trình riêng biệt đọc tập lệnh của bạn mà không cần chạy nó và chỉ ra những lỗi tiềm ẩn, chẳng hạn như biến chưa được trích dẫn. Bạn chọn trình kiểm tra cú pháp của mình, cài đặt nó trong WSL hoặc trên hệ thống Linux của bạn và yêu cầu agent chạy nó bằng Shell. Thẻ sau đó hiển thị các thông báo và mã thoát của nó. Trình kiểm tra cú pháp không thay thế cho việc chạy thử nghiệm.

Làm thế nào để truyền đối số cho tập lệnh Bash?

Các đối số là các giá trị sau tên tập lệnh, ví dụ bash script.sh one two, và tập lệnh đọc chúng dưới dạng $1, $2 và v.v. $# giữ số lượng, và "$@" giữ tất cả chúng dưới dạng các từ riêng biệt. Để thêm các cờ và đối số bắt buộc, hãy kiểm tra $# ở đầu, in dòng hướng dẫn vào stderr và thoát với mã 2. Ngừng truyền bí mật dưới dạng đối số dòng lệnh: người dùng khác có thể thấy chúng trong danh sách tiến trình.

Mã thoát 127 có nghĩa là gì trong Bash?

Mã thoát 127 có nghĩa là lệnh không được tìm thấy, thường do lỗi chính tả, chương trình chưa được cài đặt hoặc PATH không bao gồm nó. Shell in một thông báo, và Pageferry hiển thị cùng thông báo đó và số trong thẻ Shell. Một tập lệnh Bash chạy các ứng dụng với các cờ nên kiểm tra mã thoát của mọi ứng dụng mà nó khởi chạy.

Mã thoát 126 có nghĩa là gì trong Bash?

Mã 126 có nghĩa là tệp đã được tìm thấy nhưng không thể thực thi, thường do thiếu quyền thực thi hoặc không phải là chương trình. Đối với tập lệnh của riêng bạn, lệnh chmod +x script.sh thêm quyền này, sau đó ./script.sh có thể khởi chạy nó thông qua dòng shebang. Nếu không chắc chắn, hãy chạy bash script.sh trước và đọc mã thoát trong thẻ.

Sử dụng Pageferry

codedguru.com có phải là trang web chính thức của Pageferry không?

Có, codedguru.com là trang web chính thức của Pageferry. Nút tải xuống cung cấp chương trình cài đặt gốc khoảng 34 MB, và bạn có thể so sánh tổng kiểm tra SHA-256 của nó với tệp kê khai được công bố trước khi chạy nó. Windows SmartScreen có thể cảnh báo vì trình cài đặt chưa được ký mã nguồn. Các câu hỏi về ứng dụng được gửi qua nút Send feedback bên trong nó.

Agent có thể hoạt động với các tập lệnh Bash trên hệ thống Linux không?

Có, thông qua WSL trên PC của riêng bạn hoặc qua SSH đến hệ thống Linux do bạn sở hữu. Pageferry là một ứng dụng dành cho Windows 10 và 11, vì vậy bạn trò chuyện trên Windows, các công cụ tệp hoạt động trong thư mục làm việc của cuộc trò chuyện và Shell chạy các lệnh trong môi trường bạn chọn. Chỉ sử dụng các máy mà bạn được phép quản lý và kiểm tra trên bản sao trước.

Các kết quả có luôn đúng không?

Không. Agent chạy các lệnh và hiển thị kết quả thực tế, nhưng tập lệnh vẫn có thể sai và mô hình có thể hiểu sai vấn đề. Đọc mọi diff, chạy tập lệnh với các giá trị thử nghiệm và tự kiểm tra mã thoát. Pageferry đặt các sự kiện vào một thẻ; quyết định chấp nhận thay đổi vẫn thuộc về bạn và một chỉnh sửa bị từ chối sẽ không thay đổi gì.

Sự khác biệt giữa Ask first và Plan only là gì?

Ask first là một chế độ trong đó agent có thể hành động nhưng tạm dừng trước mọi hành động thay đổi thứ gì đó, chẳng hạn như ghi tệp, và đối với một chỉnh sửa, bạn thấy diff và chấp nhận hoặc từ chối nó. Plan only viết một kế hoạch và không chạy gì: không có lệnh và không có thay đổi tệp. Bạn chuyển chế độ để thực hiện kế hoạch. Auto-run hành động ngay lập tức.

Tôi có thể chạy nhiều công việc song song không?

Có, công cụ task bắt đầu các agent con song song, và bên trong một tập lệnh Bash, bạn có thể bắt đầu các công việc đồng thời ở chế độ nền bằng & và sử dụng wait. Việc tổng hợp mã thoát sau đó là nhiệm vụ của bạn: hãy đợi từng id quy trình và tự thu thập trạng thái của nó, vì $? chỉ giữ trạng thái của lệnh cuối cùng. Kiểm tra tập lệnh như vậy trên máy của riêng bạn.

Mô hình, quyền riêng tư và tải xuống

Các tệp của tôi có rời khỏi PC khi tôi sử dụng mô hình đám mây không?

Có, với mô hình đám mây, lời nhắc, bao gồm văn bản của các tệp mà agent đọc, sẽ được gửi đến nhà cung cấp đó. Với mô hình cục bộ, không có dữ liệu nào rời khỏi máy. Trong cả hai trường hợp, lịch sử trò chuyện, thư mục làm việc và khóa API đều ở lại trên PC, và các bí mật trong kết quả công cụ được che trước khi chúng đến mô hình. Bạn chọn điểm cuối, vì vậy hãy chọn nó dựa trên tập lệnh của bạn.

Trình cài đặt có được ký mã nguồn không?

Không, trình cài đặt chưa được ký mã nguồn, vì vậy Windows SmartScreen có thể cảnh báo khi bạn chạy nó. So sánh tổng kiểm tra SHA-256 của tệp đã tải xuống với tệp kê khai được công bố, và sau đó chọn Chạy Anyway dưới phần Thông tin chi tiết. Trong Windows, lệnh certutil -hashfile với đường dẫn của tệp và SHA256 sẽ in giá trị để so sánh.

Chương trình cài đặt có kích thước bao nhiêu?

34 MB là kích thước của chương trình cài đặt mà nút tải xuống cung cấp. Một phiên bản portable single .exe khoảng 25 MB cũng tồn tại, nhưng nút đó không cung cấp nó. Cả hai đều được xây dựng cho Windows 10 và 11, và phiên bản hiện tại là 2.9.26. Sau khi cài đặt, ứng dụng hiển thị nút Cập nhật khi có phiên bản mới sẵn sàng.

Pageferry có cần tài khoản hoặc kết nối mạng không?

Không cần tài khoản để chạy ứng dụng. Việc bạn có cần kết nối mạng hay không phụ thuộc vào mô hình: nhà cung cấp AI đám mây cần nó, mô hình cục bộ thì không, và tìm kiếm web, kiểm tra cập nhật và điều khiển lịch sử trò chuyện từ trình duyệt điện thoại là các tính năng mạng tùy chọn. Điều khiển bằng điện thoại sử dụng một kết nối đi ra và có thể được tắt.

Pageferry cho Windows

Gỡ lỗi tập lệnh Bash tiếp theo của bạn với mã thoát hiển thị rõ ràng

Tải xuống Pageferry ↗