【问题标题】:how to read a variable from text file and assign that value to other variable using shell script如何从文本文件中读取变量并使用 shell 脚本将该值分配给其他变量
【发布时间】:2023-03-30 16:16:01
【问题描述】:

我有一个巨大的文本文件,其中包含各种变量和其他数据。我必须搜索字符串“User_Name”并获取它的值(name, after = )。 = 之后的名称总是被“引用”

我有一个使用此文本文件数据的 shell 脚本。在代码中的某一点(行),它必须采用 User_Name 值。

另外,脚本中的“source”没有被执行。由于某些权限,我无法添加该命令。我第一次看到 shell 脚本,对 shell 语言很陌生。

我试过了

User_Name = "$User_Name" 

【问题讨论】:

  • 使用awk= 作为字段分隔符
  • 您在问题中尝试发布的内容看起来像是不正确的变量分配,并且没有对“巨大的文本文件”进行任何引用。您尝试过哪些尝试来解决您在问题中表达的问题?在MCVE 中向我们展示您迄今为止的工作、您期望的结果和您得到的结果,我们将帮助您解决问题。
  • 当文本文件有不同的格式时,您需要不同的解决方案,例如user=string with spacesuser="quoted"user=somethingWithAnEqualSign=Insidenot_a_user=invaliduser = valueWithSpacesBeforeTheEqual

标签: shell sh


【解决方案1】:

试试这个:

User_Name=$(cat yourfileLocation | grep User_Name | cut -d = -f 2)

您可以像这样直接从控制台尝试:

User_Name=$(cat yourfileLocation | grep User_Name | cut -d = -f 2) | echo $User_Name

【讨论】:

    【解决方案2】:

    您确定不希望在您的 shell 脚本顶部“获取”此文件,以便所有变量都可用而无需分配它们吗?可以将其想象为读取插入到脚本顶部的库文件。需要考虑的事情。

    # Start of your script
    . /path/to/your/variable/file  
    
    echo "$User_Name"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-24
      • 2014-03-29
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 2018-08-22
      • 1970-01-01
      • 2013-08-07
      相关资源
      最近更新 更多