首页 > 解决方案 > 如何在bash中用冒号读取文本文件

问题描述

我将用户名和密码存储在带有双点的 .txt 文件中,我想从中读取并将前半部分存储在变量中,后半部分存储在变量中。

示例:kmyghz1:aa12345bb12345cckmyghz1

cat ./examples/secrets.txt | while  IFS=':' | read variable1 variable2 do \
        echo $variable1 \
        echo $variable2 \
done

任何人都可以帮忙吗?

标签: linuxbashshellautomation

解决方案


IFS=:本身不是命令;这是命令的预命令分配read|删除分隔它们的管道符号 ( )。do您还缺少关键字前面的分号或换行符。

while IFS=: read variable1 variable2; do
    echo "$variable1"
    echo "$variable2"
done < ./examples/secrets.txt

反斜杠是不必要的,并且应该始终引用参数扩展。


推荐阅读