-1

この行の何が問題になっていますか?

if [ $(getprop | grep '[net.tcp.buffersize.default]:[4096,87380,110208,4096,16384,110208]') ]

grep が getprop 出力で「net.tcp.buffersize...」を見つけた場合、true 値を返す必要があります。

4

2 に答える 2

5

の引数grep正規表現です。文字[]および.には特別な意味があるため、引数は文字どおりには解釈されません。リテラル文字列を探すには、-Fオプションをに渡しますgrep。正確にその文字列であり、それ以上ではない行を探すには、 を渡し-F -xます。

の結果をテストする方法は意味がありgrepません。$(…)出力 (つまり、一致する行) を受け取り、それらを単語に分割します (二重引用符で囲まれていないため$(…))。次に、これらの単語 (getprop出力の一部) がビルトインの条件として解析されます[。一部の入力に との一致が含まれているかどうかをテストするgrepには、コマンドの戻りステータスをテストし、出力を抑制するオプションをgrep渡します。-q

if getprop | grep -q -F -x '[net.tcp.buffersize.default]:[4096,87380,110208,4096,16384,110208]'; then …
于 2012-09-06T17:55:33.660 に答える