如何从K Shell脚本中的参数文件中解析变量

时间:2011-01-19 04:05:17

标签: parsing shell parameters

我有一个shell脚本我希望从外部文件中读取参数,以通过FTP获取文件:

parameters.txt:

FTP_SERVER=ftpserer.foo.org
FTP_USER_NAME=user
FTP_USER_PASSWORD=pass
FTP_SOURCE_DIRECTORY="/data/secondary/"
FTP_FILE_NAME="core.lst"

我找不到如何将这些变量读入我的FTP_GET.sh脚本中,我尝试过使用read但它只是回显了vars并且没有按要求存储它们。

1 个答案:

答案 0 :(得分:1)

假设'K Shell'是Korn Shell,并且您愿意信任该文件的内容,那么您可以使用点命令“.”:

. parameters.txt

这将读取并解释当前shell中的文件。该功能自首次发布以来一直在Bourne shell中,并且也在Korn Shell和Bash中。 C Shell等价物是source,Bash也将其视为dot的同义词。

如果您不信任该文件,则可以使用read读取值,验证值,然后使用eval设置变量:

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