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

标签 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

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

最佳答案

我知道已经有一段时间了......但如果你仍然有问题......该代码适用于你提供的属性文件。

    #!/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

关于linux - ksh:评估从文件中读取的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49882775/

相关文章:

linux - 远程保存在 gedit 上

c# - 系统 namespace 在全新安装时缺少 MonoDevelop

linux - 如何在 unix 脚本中发送带有消息的邮件

sed -f 没有针对多行输入文件运行多个类似的模式匹配命令(包括连接)?

linux - perl + 完全匹配 IP 地址但忽略空格和制表符

linux - 除了 SIGINFO 之外没有任何默认操作的信号

windows - 使用 Applescript 打开多个窗口

linux - 移动除指定文件夹之外的所有文件

linux - 每天在特定时间执行一个shell脚本

linux - ubuntu 中的 etc/profile 文件意外结束