Самый простой способ направить ввод в выражение Python - это использовать функцию с вызываемым псевдонимом , которая принимает объект типа stdin. Например,
def func(args, stdin=None):
for line in stdin:
ls -dl @(line.strip())
find $WORKON_HOME -name pyvenv.cfg -print | @(func)
Конечно, вы можете пропустить @(func)
, введя func в aliases
,
aliases['myls'] = func
find $WORKON_HOME -name pyvenv.cfg -print | myls
Или, если все, что вы хотели сделать, это перебрать вывод find
, вам даже не нужно передавать по конвейеру.
for line in !(find $WORKON_HOME -name pyvenv.cfg -print):
ls -dl @(line.strip())