Giả sử tôi có một kịch bản: my_script.shChạy một kịch bản đường ống từ stdin (Linux/Shell Scripting)
Thay vì làm
./my_script.sh
tôi muốn làm một cái gì đó như:
cat my_script.sh | <some command here>
sao cho tập lệnh thực thi. Điều này có thể không?
Trường hợp sử dụng là nếu tập lệnh tôi muốn thực thi là đầu ra của một wget hoặc s3cat, v.v. Ngay bây giờ tôi lưu nó vào một tệp tạm thời, thay đổi nó thành tệp thực thi và sau đó chạy nó. Có cách nào để làm điều đó trực tiếp không?
Bạn phải rất cẩn thận làm điều này. Nếu bất kỳ thứ gì bên trong kịch bản lệnh của bạn đọc từ stdin (ví dụ, bất kỳ lệnh nào nhắc người dùng "Có/Không"), nó sẽ tiêu thụ các dòng * từ tập lệnh của bạn * và các dòng đó sẽ không được thực hiện. –