【问题标题】:How to put special characters in variable and use them in string?如何将特殊字符放入变量中并在字符串中使用它们?
【发布时间】:2020-04-02 11:57:17
【问题描述】:

我想知道是否可以从 Bash 中的变量中使用例如 ,^% 等等?

例如我有三个变量

var1='hello world'
var2=${var1:3}
var3='^'

我想在 bash 中执行此操作!请注意我的问题,我知道这在其他方面很简单,但是这个怎么样?

echo ${var1:0:3}${var2$var3} # instead of echo ${var1:0:3}${var2^}

最后的输出是:

heLlo world

【问题讨论】:

  • 大小写修改扩展在变量扩展之前完成。
  • 您要解决的问题是什么?你可以使用eval,但这可能会带来安全问题。

标签: string bash variables


【解决方案1】:

理论上eval可以执行任意代码,但存在很多安全问题,所以应该作为最后的手段。仅当您 100% 信任输入时才使用它。

var1='hello world'
var2=${var1:3}
var3='^'

eval echo '${var1:0:3}${var2'$var3'}'

【讨论】:

  • thnx 是的,eval 是邪恶的 ? 而且很危险,repp ++ 我正在等待其他可能的方式...
猜你喜欢
  • 1970-01-01
  • 2012-07-15
  • 2016-09-12
  • 1970-01-01
  • 2019-08-14
  • 1970-01-01
  • 1970-01-01
  • 2020-09-17
相关资源
最近更新 更多