ksh:评估从文件中读取的一行
ksh: evaluate a line read from file
我有一个属性文件 - 具有以下行的道具:
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
评估无效。我试过反引号`。任何帮助。
我知道已经有一段时间了...但是如果您仍然遇到问题...该代码适用于您提供的 属性 文件。
#!/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
我有一个属性文件 - 具有以下行的道具:
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
评估无效。我试过反引号`。任何帮助。
我知道已经有一段时间了...但是如果您仍然遇到问题...该代码适用于您提供的 属性 文件。
#!/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