以下は、f5cliとchmod + x f5cliの実行可能ファイルとして保存されたスクリプトです。 F5FPC_HOST環境変数を使用してホストURL値を選択します。
#!/bin/sh
user=$(echo "" | dmenu -p "Enter user:")
secret="'$(echo "" | dmenu -P -p "Enter secret(PIN, OTP, Password):")'"
f5fpc --start -u $user -p $secret -t $F5FPC_HOST
変数値の置換は問題にならず、echo/notify-sendにデータを出力して確認しました。 bin/shをbin/zshまたはbin/bashに変更してみました。
端末で実行するコマンド
f5fpc --start -u user -p 'XXXX123456PASSWORD' -t https://abc.com
答え1
次のことができます。
user="$(printf "" | dmenu -p "Enter user:")"
pass="$(printf "" | dmenu -P -p "Enter secret(PIN, OTP, Password):")"
f5fpc --start -u "$user" -p "$pass" -t "$F5FPC_HOST"
printf ""
dmenuがstdinをリストとして読むのを防ぐために使用されます。echo
改行文字が追加され、空のdmenu
リスト項目として扱われます。
他にも、f5fpc
argvのパスワードを上書きしてください。たとえば、パスワードが渡されないようにする必要がありますps
。
f5fpc
この場合、シェルでスクリプトを開き、パスワードを入力するのが最善です。
答え2
修正してください。ありがとうムル引用の問題を指摘します。
#!/bin/sh
user=$(echo "" | dmenu -p "Enter user:")
secret="$(echo "" | dmenu -p "Enter secret(PIN, OTP, Password):")"
cmd="f5fpc --start -u $user -p '$secret' -t $F5FPC_HOST"
eval "$cmd"