
これを ksh で動作させるにはどうすればよいですか?
variable1="$(strings /.sh_history | grep '^\user' | tail -1 | cut -d' ' -f2)"
variable2="$(command ${variable1})"
基本的に、変数を宣言するコマンドで使用する文字列として、variable1 を使用したいと思います。
更新: 問題は実際には私の構文とは関係ありませんでした。エラーは、テキストがフォーマットされたために問題が発生したためです。テキスト修飾子を区切り文字として使用して切り取り、データを正常に取得できました。スクリプトをよりクリーンにするために、推奨された解決策の両方を使用しました。
答え1
シェルコードを保存する場合は、機能:
function1() { strings /.sh_history | grep "$@"; }
variable1=$(function1 foo)
答え2
使用eval
:
variable1='strings /.sh_history | grep'
variable2=$(eval "$variable1 foo")