次のプロンプトを提供するインストールスクリプトがあります。
選択を入力するか、Enter を押してデフォルトの選択を適用します。 [1]:
キャッチできません。 Enterの方程式を解決しようとしましたが、何も機能しないようです。
どんなアイデアでも歓迎されます
答え1
などの文字列を一致させようとすると、2種類の問題が発生します"[1]"
。
最初に文字列をexpect
使用しておりtcl
、[]
二重引用符内の特殊文字なので、を使用してエスケープするか、中\[
括弧引用符を使用する必要があります{}
。
第二に、expect
パターンのデフォルト値はglobパターンであるため、 [abc]
a、b、またはc文字と一致することを意味します。したがって、[
2番目のエスケープが必要であるか、オプションを使用して-ex
globを使用せずに正確な文字列を使用することを示します。
したがって、有効な結果コマンドは次のようになります。
expect -ex {default choice [1]:}