bắt đầu bash với -v tùy chọn tạo ra một đầu ra dài ra cửa sổ ConsoleĐầu ra có thể bash -v được chuyển hướng không?
$ bash -v
source ~/Dropbox/bin/tim_functions.sh
\#!/bin/bash
...several hundred more lines
Tôi muốn bắt đầu ra vào một tập tin để làm cho nó dễ dàng hơn để duyệt qua, nhưng tôi đã cố gắng bash -v 2>&1 > out_bash.txt
và bash -v | tee out_bash.txt
và không thể nắm bắt được thông tin trên màn hình đầu cuối trong một tệp. Nó là như thể đầu ra tiết là không stderr hoặc stdout. Làm sao có thể?
Có ai có thể đề xuất cách để nắm bắt đầu ra của bash -v không?
Tôi cố gắng gợi ý của bạn, nhưng không có may mắn - vẫn không nắm bắt được thông tin. Dường như đầu ra của bash -v có liên quan đến thông tin gỡ lỗi. Và thông tin gỡ lỗi dường như không phải là stderr hoặc stdout. Tôi bắt đầu nghĩ rằng nó không thể được định tuyến lại từ nhà ga. – Tim
Bash không phải là phép thuật; bất cứ thứ gì được gửi tới tty của bạn đều xuất phát từ lời gọi 'write()' (hoặc tương đương) từ * ở đâu đó *. Điều có thể xảy ra là bản thân vỏ tương tác đang tạo ra đầu ra, trong khi chuyển hướng chỉ có thể áp dụng cho các tiến trình con sinh ra. Đây là lý do tại sao tôi nghĩ rằng gói một lớp và cẩu các chuyển hướng lên có thể làm việc .. – phs
Nhưng khi bạn đang ở trong một phiên bash và thực hiện bash -v, mà không tạo ra một quá trình con (phiên bash mới). Vì vậy, trừ khi quá trình cha mẹ đã làm cho các cuộc gọi write() cho các thông tin gỡ lỗi của đứa trẻ, chứ không phải là quá trình con gọi write() chính nó, nó vẫn có vẻ như các thông tin thiết bị đầu cuối nên được tái trực tiếp. Nhưng có lẽ đó là cách thông tin gỡ lỗi được tạo ra - cha mẹ bằng cách nào đó giám sát hoạt động của đứa trẻ và báo cáo về nó. – Tim