bashでdmesgを1行ずつ解析する方法は?

bashでdmesgを1行ずつ解析する方法は?

コマンドから1行ずつ解析する方法はdmesg? 、私は以下を試しましwhileread

while read -r L; do
    echo "line: ${L}";
done < <(dmesg -c --level=err)

しかし、ラインをエコーすることはできません。私は以下を使用しようとしています:

LINES=$(dmesg -c --level=err);
while read -r L; do
    echo "line: ${L}";
done <<< "$LINES"

しかし、内容なしで一行だけエコーされます。

呼び出し時のdmesg -c --level=err内容は5行です。

これをどのように分析しますか?

答え1

-cスイッチが削除であることを忘れたと思います。最初の通話以降の内容です。

ラインエコーがない理由は簡単です。

最初の部分が有効です。パスワード。

デフォルトのシェルがbashであることを確認してください!

[[ $SHELL == *bash ]] && echo 'bash is the default shell' || echo >&2 "WTF"

関連情報