使用内部变量初始化变量

使用内部变量初始化变量

我如何让它在 ksh 中工作?

variable1="$(strings /.sh_history | grep '^\user' | tail -1 | cut -d' ' -f2)"
variable2="$(command ${variable1})"

基本上,我想使用variable1作为字符串与命令一起使用来声明变量。

更新:这个问题实际上与我的语法无关。错误是由于文本被格式化而产生的。我使用文本修饰符作为分隔符进行剪切,并能够成功提取数据。我确实使用了建议的两种解决方案来使我的脚本更简洁。

答案1

如果你想存储 shell 代码,请使用功能

function1() { strings /.sh_history | grep "$@"; }
variable1=$(function1 foo)

答案2

使用eval

variable1='strings /.sh_history | grep'
variable2=$(eval "$variable1 foo")

相关内容