gpt4 book ai didi

linux - Bourne Shell (bin/sh) 中的嵌套变量

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:13:39 25 4
gpt4 key购买 nike

我有一个具有嵌套值的变量。

x=hello
y=world
helloworld=monday

TEMP=$x$y
echo "${!TEMP}" # I get output "monday" which is required

这在 bash 中有效,但在普通 sh 中无效。当我使用 sh 运行相同的命令时,最后一行给出“Bad Substitution”。

如何使用 sh 获得相同的结果?由于某些原因,我无法将 shell 从 sh 更改为 bash,因此我必须使用 sh 来完成此操作。

最佳答案

因为 sh 不同于 bash difference-between-sh-and-bash .但是您可以使用这种方式获取 helloworld 的内容,也许有一些更好的方法,但如果您只对解决方案感兴趣,那么这将为您提供您正在寻找的东西:)

#!/bin/sh
x=hello
y=world
helloworld=monday
TEMP=$x$y
TEMP_FINAL='eval "echo \$$TEMP"'
eval "$TEMP_FINAL"

enter image description here

关于linux - Bourne Shell (bin/sh) 中的嵌套变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57057709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com