私はExpectのマンページを見て、Googledしましたが、私は期待しているものが-r
ではありません。私はexpect
スクリプトでこの"-r"はExpectの "expect -r PATTERN"コマンドの意味とは何ですか?
expect -r "\r\n\r\n"
のように前に使用し、このオプションを見て、それがために何を把握することはできません。誰も私がこの答えを見つけるためにどこに見えるか知っていますか?あらかじめありがとう
私はExpectのマンページを見て、Googledしましたが、私は期待しているものが-r
ではありません。私はexpect
スクリプトでこの"-r"はExpectの "expect -r PATTERN"コマンドの意味とは何ですか?
expect -r "\r\n\r\n"
のように前に使用し、このオプションを見て、それがために何を把握することはできません。誰も私がこの答えを見つけるためにどこに見えるか知っていますか?あらかじめありがとう
これはまた、私が誰かがexpect -regexp PATTERN
を使用しているのを見たときにちょっと混乱させました。マニュアルページには、expect -re PATTERN
しかないからです。私はexpect -regexp PATTERN
を試してみました。
いつか私は期待のsource codeをダウンロードして見て、その理由を見つけました。ソースコードで
(expect.c
に機能parse_expect_args()
を参照)、expect
「次のように複数のオプションは、実際に定義される:
static char *flags[] = {
"-glob", "-regexp", "-exact", "-notransfer", "-nocase",
"-i", "-indices", "-iread", "-timestamp", "-timeout",
"-nobrace", "--", (char *)0
}
は、関数ではTcl
呼び出し」コマンドオプションを解析するためのTcl_GetIndexFromObj(interp, objPtr, tablePtr, msg, flags, indexPtr)
を。 AccordintへTcl_GetIndexFromObj()
のmanual:objPtr
場合
...マッチが起こるの文字列値がの1に同じであることが非空でユニークな省略形である場合
tablePtr
、または内の文字列tablePtr
とTCL_EXACT
フラグの文字列のうちの1つのためにが指定されていません。flags = 0
(なしTCL_EXACT
)ので、manページに記載さ-gl
、-re
と-ex
と...
ここExpect
通話Tcl_GetIndexFromObj()
それぞれ実際-glob
、-regexp
と-exact
です。 -r
で始まる-regexp
というオプションが1つしかないので、-r
は-regexp
(と-re
)と同じ意味になります。
個人的には、他の人を混乱させないように、文書化されたオプションを使用することをお勧めします。
うわー!ハハ、たくさんの掘り出し物!それはすごく、ありがとうございます。 – chromechris
あなたは '-r'ですが、' \ r'や '-re'はありませんか? – RomanPerekhrest
完全なコマンドを追加してください。 – adiesner
はい、それはrです。完全なコマンドは 'expect -r' somePattern "' – chromechris