我有一个下面的脚本,它应该从一个“.properties”文件中逐行读取,然后根据“=”字符串将其标记化,并将值存储到两个变量中,然后显示它。但是我不理解如何将它标记化,然后将其存储在两个不同的变量中,然后将其用于进一步的目的。
下面的脚本工作正常,在阅读逐行文件,但我需要在实现拆分字符串的逻辑帮助。
属性文件
FNAME=John
LNAME=Lock
DOB=01111989
脚本
#!/bin/bash
echo "FileReading Starts"
while read line
do
value=$line
echo $value
#Tokenize Logic
property=sample
property_value=sample
echo $property
echo $property_value
done <testprop.properties
echo "Finish"
3条答案
按热度按时间qxgroojn1#
试试这个:
IFS
是输入字段分隔符。但是,您可以直接获取文件并访问变量,而不是解析文件(如fedorqui所说):
从
$ LANG=C help source
:最后但并非最不重要的是,使用更多的引号!
看到
http://mywiki.wooledge.org/Quotes
http://mywiki.wooledge.org/Arguments
http://wiki.bash-hackers.org/syntax/words。
q43xntqr2#
IFS
可用于将字段分隔符值设置为read
例如
输出为
内部变量
mkshixfv3#
我想知道是否有可能在应答文件本身(发送SQL查询)中分离
当前file.sql已选择.......选择.......选择.......
和脚本进入文件一样声明和工作正常,如果文件只有一个查询
declare -a query=$(cat“file.sql”)
和
对于“${query[@]}"中的Q;做某事
现在它现在是一次发送所有选择行,而不是一次发送一行