从其他文件中读取Bash变量赋值

 mobiledu2502927723 发布于 2023-02-12 16:39

我有这个测试脚本:

#!/bin/bash
echo "Read a variable" 
#open file
exec 6

该文件test.txt只有一行:

EXAMPLE=1

输出是:

bash-3.2$ ./Read_Variables.sh
Read the variable
EXAMPLE=1

$EXAMPLE在这种情况下,我只需要使用值1.那么我怎样才能避免EXAMPLE=在输出中获得部分?

谢谢

2 个回答
  • 如果包含变量的文件始终使用bash语法(例如X = Y),则另一个选项是使用source:

    #!/bin/bash
    echo "Read a variable" 
    source test.txt
    echo $EXAMPLE
    

    2023-02-12 16:41 回答
  • 作为获取整个文件的替代方法,您可以尝试以下操作:

    while read line; do
        [[ $line =~ EXAMPLE= ]] && declare "$line" && break
    done < test.txt
    

    它将扫描文件,直到找到看起来像赋值的第一行EXAMPLE,然后使用declare内置来执行赋值.它可能有点慢,但它对实际执行的内容更具选择性.

    2023-02-12 16:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有