String Bash,字符串变量中的整数变量

String Bash,字符串变量中的整数变量,string,bash,String,Bash,Greetins,我需要做以下工作: string_a="string_a${int}" string_b="string_b${int}" int=1 字符串变量位于文本文件中,而不是包含bash脚本并声明变量int的文件。我需要在一个文本文件中写入string_a${int},并从该文件中删除该行,使其成为一个带有嵌套int变量${int}的字符串变量。你知道有什么好办法吗?:) 也许我尝试在两个文件中编写代码: 文件“字符串” 文件“程序” 正如您所看到的,我尝试使用文件“string”

Greetins,我需要做以下工作:

string_a="string_a${int}"
string_b="string_b${int}"
int=1
字符串变量位于文本文件中,而不是包含bash脚本并声明变量int的文件。我需要在一个文本文件中写入
string_a${int}
,并从该文件中删除该行,使其成为一个带有嵌套int变量
${int}
的字符串变量。你知道有什么好办法吗?:)

也许我尝试在两个文件中编写代码:

文件“字符串”

文件“程序”


正如您所看到的,我尝试使用文件“string”的第一行,但结果得到的是aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1而不是aaaaaaaa1。

我找到了一个解决方案。我需要编写
eval echo${string}
而不是echo
${string}
。我希望它能帮助一些人。

你的问题完全不清楚。
字符串变量在文本文件中,而不是变量int。
你能澄清一下吗。编辑,也许现在可以了?抱歉:)像这样
echo${!string_a}
?@user3162968在
foo=bar
bar=5
之后,
$foo
产生“bar”,而
${!foo}
产生5。感叹号告诉
bash
使用
foo
的值作为要使用
$
展开的参数的名称。这叫做间接参数扩展。你能在注释中解释我如何在代码块中编写一行的一部分吗?四个空格不起作用。我想在代码块中写入eval echo${string}。请使用反勾号。(`)-如果单击“帮助”,这是第一行(小标记)中的最后一个示例。当其他技术足够时,切勿使用
eval
aaaaaaaaa${i}
#!/bin/bash

int=1
i=1

string=$(sed -n "${int}p" string)

echo ${string}