Zenityベースのスクリプトを変換して代わりにホイップテールを使用するのに問題があります。
動作するスクリプトは次のようになります。
#!/bin/bash
xfreerdp /v:farm.company.com \
/d:company.com \
/u:$(zenity \
--entry \
--title="Username" \
--text="Enter your Username")
代わりにホイップテールを使用するようにこれを変換しようとしていますが、空白の画面が表示され続けます。
これは私がこれまでに持っているものです:
#!/bin/bash
xfreerdp /v:farm.company.com \
/d:company.com \
/u:$(whiptail \
--inputbox "Username" 10 30)
私は何が間違っているのですか?
入力ボックスが表示されない理由は、whiptail
がキャプチャしているstdoutに表示を書き込むためです。入力の結果は、キャプチャしていないstderrに書き込まれます。これを機能させるには、stderr
をキャプチャするためのコマンド置換が必要ですが、stdout
はキャプチャしません。これはリダイレクトで行うことができます:
#!/bin/bash
xfreerdp /v:farm.company.com \
/d:company.com \
/u:$(whiptail \
--inputbox "Username" 10 30 3>&1 1>&2 2>&3)