ksh:评估从文件中读取的行

时间:2018-04-17 16:05:31

标签: linux shell ksh

我有一个属性文件 - 道具有以下行:

table1_prop=$USER.table1;dir1;dir2

在我的脚本中,我读取了该文件,但我无法评估$ USER。

while read record_line; do
   if [ ! -z "$record_line" -a "$record_line" != " " ]; then
          record_array=(`echo eval "$record_line" | cut -d '=' -f 2| sed 's/;/\n/g'`)  
   fi
done

评估不起作用。我试过反引号`。任何帮助。

1 个答案:

答案 0 :(得分:0)

我知道已经有一段时间了...但是如果您仍然有问题...该代码可以与您提供的属性文件一起使用。

    #!/bin/ksh

    while read record_line
    do
       if [[ ! -z $record_line && $record_line != " " ]]; then
            set -A record_array $(sed 's|;| |g' <<<"${record_line#*=*}")
       fi
    done < ./prop.txt

    for ((i=0;i<${#record_array[*]};i++)); do
            print $i" "${record_array[$i]}
    done