Paul Zakharov (paul_z) wrote in ru_shell,
Paul Zakharov
paul_z
ru_shell

Passing arguments by pipe

Извините, пожалуйста.

Похоже я рискую прославится тем что задаю тут какие-то странно-глупые вопросы.
Но... в общем у меня опять странно глупый вопрос, на который я не найду ответа.

Пишем меленький скрипт, который просто печатает количество переданных ему аргументов

temp.ksh:

#!/bin/ksh

echo "$#"

exit

Смотрим
]$ ./temp.ksh
0
]$ ./temp.ksh 3
1
]$ ./temp.ksh 3 | ./temp.ksh
0

Хм...
И даже если вот так:

]$ echo 3
3
]$ echo 3 | ./temp.ksh
0

Хм....
После некоторых размышлений появилась мысль, что может быть даже это и логично (типа каждый скрипт запускает свой новый шелл и т.п.).
Но все равно остались вопросы:
А логично ли все-таки?
Все-таки как же это сделать-то тогда?

//В последним вопросе под "это" имелось в виду, конечно не вариант в примере, а нечто более общее. Есть некий скрипт, который производит некий оутпут, и хотелось этот оутпут через пайп переправить второму скрипту.
Оно конечно можно было бы это все сделать и по-другому, ну, к примеру, через какой-нибудь темпорари файл... но а вот через пайп, что? Никак нельзя?

Заранее спасибо, и извините если вопрос, как всегда, слишком ламерский.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

  • 2 comments