我有一个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并且没有按要求存储它们。
答案 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