나는 나의 ksh 스크립트는 다른 동작 표준 입력 여부를 통해 들어오는 무언가가 있는지 여부에 따라 갖고 싶어 :이 단자가 있는지 확인하기 위해 표준 입력에 대한 확인ksh : 표준 입력을 검사하는 방법?
(1) cat file.txt | ./script.ksh (then do "cat <&0 >./tmp.dat" and process tmp.dat)
vs. (2) ./script.ksh (then process $1 which must be a readable regular file)
을 [-t 0] 때문에, 도움이되지 않습니다 내 스크립트는 다른 스크립트에서 호출됩니다.
stdin이 "비어 있음"(두 번째 경우) 인 경우 "cat < & 0> ./ tmp.dat"를 실행하면 tmp.dat의 크기를 확인하여 EOF를 기다리는 중 전화가 끊깁니다.
stdin이 "비어 있는지"확인하는 방법은 무엇입니까?!
인수의 길이를 확인하는 방법은 무엇입니까? ($ #) $ 1이 있으면 그걸 읽는 것으로 결론을 내립니다. 그렇지 않다면 stdin에서 읽어야합니다. –
내가 할 수만 있다면! 사용법 : ./script.ksh <-d dest> [-f from_sys] [file, file1, ..]. stdin => [file, file1, ..]이 처리되지 않으면 방금 이동했습니다. stdin => 프로세스 파일이 없으면 file1을 이동하십시오. 표준 입력이 없거나 [file, file1, ..] => 오류가 발생하지 않으면 사용자가 처리해야합니다! –
ExpertNoob,이 질문에 답변으로 표시 할 수 있습니다. :) – vladr