Есть скрипт на python:
#!/bin/env python
import sys
print(sys.argv[1])
При попытке передать в скрипт данные конвейером скрипт утверждает что ничего не получил. В буфере, если что, данные точно есть.
[d@d-pc ~]$ xclip -o | ~/myscript.py
Traceback (most recent call last):
File "/home/d/myscript.py", line 5, in <module>
print(sys.argv[1])
IndexError: list index out of range
Однако конвейер прекрасно работает если данные отдаются во встроенную bash команду (не знаю как корректно сказать, но думаю вы поняли).
Как это понимать?