shell script에서 parameter import or export???

aprilii의 이미지

안녕하세요..질문입니다.(질문 수정입니다..)

1) a 라는 바이너리가 있습니다..a 를 실행하기 위해서는 b 라는
환경파일이 필요합니다.

$./a < b

2)저는 aa 라는 loop 스크립트를 사용하고자 합니다.

#!bin/bash

for f in 5 10 15 ; do
echo $f

./a < b

done

3) b 의 내용은
xxxxxx-$f.xxxx
yyyyyy-$f.yyyy

입니다. 아니..이게 하고 싶습니다. 순차적으로 몇개의 환경변수값이 들어가게 됩니다.

--->즉,

$./aa < b , 이때 b 는,

xxxxx-5.xxxxx
yyyyy-5.yyyyy

이라는 text형식의 input이 들어가게 하고 싶습니다. 다음번엔 xxxxx-10.xxxx, yyyyy-10.yyyyy라는 input을 가지고 실행되도록 하는..
바이너리 a가 scanf값을 받기에 다른 코멘드를 사용할 수 없는 상황입니다.
-------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------

셀스크립트 밖으로 변수를 보내는 방법이 있는지요? export를 찾아보았습니다만, 이경우에는 사용하지 않는듯 합니다.

미리 도움말씀 주신 분들께 감사드립니다.

niemand의 이미지

1. for 문의 결과를 .myprofile 로 저장한다.
2. . .myprofile 을 해서 환경을 읽어오고
3. ./a 를 실행한다

이렇게 하면 되지 않을까 싶은데요.. 실행은 해 보지 못 했습니다.

#!bin/bash

for f in 5 10 15 ; do
echo $f >> .myprofile
. .myprofile

done

./a

aprilii의 이미지

님이 제시해주신 방법으로 해결했습니다.

#!bin/bash

for f in 5 10 ; do

1) 필요한 환경변수를 각각의 파일에 저장하고

echo xxxxx-$f.xxxx >> .myprofile-$f

2) $./a < .myprofile-$f

done

감사합니다..input file 들을 만들었다가 지워야 하지만, 나름대로 깔끔한것 같습니다.

dalekang의 이미지

#!bin/bash

for f in 5 10 ; do

{
1) 필요한 환경변수를 각각의 파일에 저장하고

echo xxxxx-$f.xxxx
} | xargs ./a

done