
我如何讓它在 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")