Mam canonical shebang na górze moich skryptów python.Czy jest możliwe dołączanie opcji wiersza poleceń w pythonie?
#!/usr/bin/env python
Ja jednak nadal często chcą eksportować niebuforowanego wyjście do pliku dziennika, kiedy uruchomić moje skrypty, więc kończy się wywołaniem:
$ python -u myscript.py &> myscript.out &
mogę osadzić opcji -u w shebang jak tak ...
#!/usr/bin/env python -u
i tylko wezwanie:
$ ./myscript.py &> myscript.out &
... aby nadal korzystać z niebuforowania? Podejrzewam, że to nie zadziała, i chcesz to sprawdzić przed próbą. Czy jest coś, co to może osiągnąć?
Tak, powinieneś. "Shebang" jest jedynie wskaźnikiem do binarnej aplikacji odpowiedzialnej za skrypt. Jeśli nie, możesz utworzyć alias 'alias ppython =" python -u "' i po prostu użyć '#!/Usr/bin/env ppython' – Torxed
Możesz to zrobić. – aestrivex
Torxed, czy próbowałeś odpowiedzi? Takie podejście nie działa w systemach OSX i Linux. Jeśli działa w twoim systemie operacyjnym, proszę podziel się szczegółami, ponieważ byłoby to interesujące. Powodem, dla którego nie działa on w OSX lub Linux (lub wierzę, każdy smak unixu) jest to, że 'env' wyszukuje plik wykonywalny na ścieżce, a aliasy nie znajdują się na ścieżce. Aliasy nie działają na linii Shebang w ten sam sposób iz tego samego powodu, dla którego wbudowane nie działają na linii Shebang. Jeśli twój system pozwala na to, proszę udostępnij! –