0
파일 이름에 환경 변수가있는 목록이 있습니다. 파일을 한 줄씩 읽은 다음 줄에 읽음으로 변수를 설정하고 envirnment 변수를 적절한 환경 변수로 변환하고 싶습니다. 여기 내 스크립트는 지금까지입니다 :KSH 전체 파일에 대한 환경 변수 해결
내 소스 파일입니다#!/bin/ksh
. /test/currentEnv.sh
while read line
do
echo $line
done < $1
경우 : currentEnv.sh에서
foo1$ENVVAR1.csv
foo2$ENVVAR2.csv
foo3$ENVVAR3.csv
내 환경 변수
$ENVVAR1=hello; export ENVVAR1
$ENVVAR2=world; export ENVVAR2
$ENVVAR3=test; export ENVVAR3
가 나는 결과를 싶습니다
있습니다 스크립트는foo1hello.csv
foo2world.csv
foo3test.csv
현재 그냥 원본 파일 밖으로 덤프 :
foo1$ENVVAR1.csv
foo2$ENVVAR2.csv
foo3$ENVVAR3.csv
편집을
내 파일의 대부분이 사용하여 해결 얻을 수있었습니다! #/빈/ksh를
. /test/currentEnv.sh
while read line
do
eval echo $line
done < $1
그러나 일부 내 변수의 문자열은 다음과 같습니다.
foo3$ENVVAR3_bar.csv
thi S는 ENV 변수 $ ENVVAR3_bar을 찾아 보인다 그것이 내가 출력이 필요 찾을 수 없습니다 :
$var=value # no
var=value # yes
중괄호로 표시했습니다. 나는 $가없는 변수를 선언하고 잘못 입력했습니다. 의견을 보내 주셔서 감사합니다. – user3558332