Không có cách nào để bước qua một kịch bản để xem nó sẽ thực thi như thế nào mà không thực sự làm điều đó. Trong ví dụ của bạn, không có if
câu lệnh hoặc vòng lặp. Nhưng trong các kịch bản thực, thường có rất nhiều câu điều kiện. Nhánh nào sẽ được lấy thường sẽ phụ thuộc vào những gì đã xảy ra khi shell chạy lệnh trước đó. Nếu nó không chạy lệnh, shell sẽ không biết được nó sẽ tạo ra đầu ra nào hoặc mã trả về sẽ là gì, mà nhánh điều kiện hoặc câu lệnh gán tiếp theo có thể phụ thuộc vào.
Nếu vấn đề là bạn muốn xem xét kỹ một kịch bản và biết nó làm gì trước khi bạn chạy nó, thì đó không phải là một ý tưởng tồi. Nhưng thực tế, khoảng cách tốt nhất để làm điều đó là bởi chỉ duyệt các tập tin với less
hoặc vi
hoặc một cái gì đó tương tự.
Thêm
Nếu bạn đang phát triển tập lệnh và bạn muốn thực hiện lần đầu tiên, kiểm tra logic nhưng không thực sự gây ra thiệt hại nếu bạn gặp lỗi, giải pháp tôi thường có thể sử dụng là chỉ sửa đổi các tuyên bố có thể gây ra bất kỳ thiệt hại bằng cách dán echo
lên phía trước.
Điều này thường hoạt động trong các tập lệnh thực tế điển hình vì (a) tạo danh sách các mục bạn sẽ lặp lại hoặc giá trị mà bạn sẽ đặt biến thường có thể được tạo mà không thay đổi hệ thống tệp và (b) thường đủ để giả sử rằng nếu bạn đã chạy lệnh, nó sẽ thành công.