String Bash,字符串变量中的整数变量
Greetins,我需要做以下工作: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”
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}