开发者

How to parse variables from a parameter file in a K Shell script

I have a shell script I wish to read parameters from an external file, to get files via FTP:

parameters.txt:

FTP_SERVER=ft开发者_运维百科pserer.foo.org
FTP_USER_NAME=user
FTP_USER_PASSWORD=pass
FTP_SOURCE_DIRECTORY="/data/secondary/"
FTP_FILE_NAME="core.lst"

I cannot find how to read these variables into my FTP_GET.sh script, I have tried using read but it just echoed the vars and doesn't store them as required.


Assuming that 'K Shell' is Korn Shell, and that you are willing to trust the contents of the file, then you can use the dot command '.':

. parameters.txt

This will read and interpret the file in the current shell. The feature has been in Bourne shell since it was first released, and is in the Korn Shell and Bash too. The C Shell equivalent is source, which Bash also treats as a synonym for dot.

If you don't trust the file then you can read the values with read, validate the values, and then use eval to set the variables:

 while read line
 do
     # Check - which is HARD!
     eval $line
 done
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜