环境:KornShell (ksh)
我正在使用以下方法导出变量:
eval $(echo '"EffTimeStamp=20110203-210000#InputCtxNm=Forigen Exchange Today#RunType=EOD"' |
sed 's/^"/export /g;s/=/="/g;s/#/"\nexport /g')
并尝试动态显示这些变量的值:
eval $(echo EffTimeStamp=20110203-210000#InputCtxNm=Forigen Exchange Today#RunType=EOD|sed 's/^/echo $/g;s/=/="/g;s/#/"\necho $/g' | sed 's/=.*$//g')
但我得到的输出为:
20110203-210000 echo Forigen Exchange Today echo EOD
我无法弄清楚为什么会在其中显示额外的回声,这不是令人满意的输出。它应该如下所示:
20110203-210000
Forigen Exchange Today
EOD