Có biết rằng hầu hết shebang
triển khai sẽ hỗ trợ một tham số duy nhất vì vậy nếu bạn có một cái gì đó giống nhưLàm thế nào để lừa shebang để cho phép nhiều tham số?
#!/usr/bin/env some-tool-accepting-yaml param1 param2
... (yaml body)
Nó bây giờ sẽ làm việc như mong đợi bởi vì nó sẽ gọi công cụ với "param2 param1" tranh luận thay vì tách nó thành hai đối số.
Dường như một workaround thực tế là sử dụng cái gì đó như:
#!/bin/sh
arbitrary_long_name==0 "exec" "/usr/bin/gawk" "--re-interval" "-f" "$0" "[email protected]"
Bây giờ phương pháp này sẽ làm cho YAML dựa trên kịch bản vô hiệu do dòng thứ 2, vì vậy workaround chấp nhận được sẽ chỉ là một mà cũng là nhận xét, bắt đầu bằng "#".
Có cách nào để bỏ qua vấn đề này không?
đó là thực thi để khởi động là nó 'python'? bởi vì cũng có câu hỏi liên quan này: https://stackoverflow.com/questions/17458528/why-does-this-snippet-with-a-shebang-bin-sh-and-exec-python-inside-4-single-q –
Cách giải quyết mà bạn đang trích dẫn là dành cho awk, không phải python. – rici
Bạn có quan tâm đến một giải pháp cho YAML, hoặc một giải pháp chung? Trong trường hợp trước đây, xin vui lòng cho chúng tôi biết những gì thực thi cuối cùng sẽ tiêu thụ nội dung của tập tin? – randomir