![]() |
1
0
如果您希望避免在脚本中使用eval,可以在KornShell(ksh)中使用不同的方法,这通常是避免安全问题和潜在错误的好方法。可以使用Ksh的nameref功能创建对另一个变量的引用,该功能与其他编程语言中的指针类似。 以下是如何更改脚本,以便在中使用nameref而不是eval:
当nameref Varref=$i时,Varref被引用到由$i命名的变量。这表示变量(如A、B等)被用作Varref的别名。实际上,当您修改varref引用的变量时,您正在访问它。 接下来,通过将变量名i分配给变量和值varref来创建param字符串。
这应该会使您的脚本更安全,并且通过生成预期的结果,
|
![]() |
2
0
你的剧本走在了正确的轨道上。但是,您需要进行一个小的调整,以正确地引用循环中的变量值。这是你的脚本的修改版本。
|
![]() |
Sunny1985 · 根据函数的输出休眠while循环 7 年前 |
![]() |
00__00__00 · 在子文件夹中应用所有隐藏的更改 7 年前 |
![]() |
user1342645 · 计算变量名时打印awk内的变量 7 年前 |
![]() |
Sidd Singal · 使用双引号执行Linux命令 7 年前 |
![]() |
mtryingtocode · 日期出现ksh脚本语法错误 7 年前 |
![]() |
Andrew Courtenay · 交互式shell脚本-递归太深 7 年前 |