urxvtを使用してコマンドを実行する単純なシェルスクリプトを作成しようとしています。アイデアは次のとおりです(スクリプト全体ではなくアイデアのみ)。
PRMPT="read -r CMD"
urxvt -g 55x6-20+20 -e $PRMPT
CMD
このスクリプトには2つの問題があります。最初はread
コマンドのオプションを無視するため、この種の操作には適していません(readと書くと割り当てられ、無視されますecho hello
)。 2番目と私を最も混乱させることは、私の入力を待たずにすぐに終了することです。私はこれが組み込み関数に関連していると思いますが、例えばそれはうまくいきます。echo
CMD
hello
urxvt -e
read
urxvt -e echo hello
スクリプトを変更する方法について提案がある人はいますか?
ベストアンサー1
あなたの目標は何ですか? echoは実行可能で/bin/echo
あり、読み取りは組み込まれています。 -e は実行ファイルを実行することを意味します。シェルの組み込み機能(bash?)を使用するには、次のようにします。urxvt -e /bin/bash -c read -r CMD