Bash - fmt -wを繰り返し、関数に行を渡します。

Bash - fmt -wを繰り返し、関数に行を渡します。

行を処理するために各行を関数に渡す前に、最初に各行の特定の長さにフォーマットする複数の行文字列があります。

例えば

description="\
    NOTE: 
    This script should be run on a newly created server. 

    However it can also be re-run selectively even afterwards, to re configure your settings if they were messed up.

    Ready to configure the server for the first time.
"
echo "$description" | fmt -w 80 

ここで上記の出力を繰り返し、各行を関数に送信したいと思います。

私が想像するのはこれです(動作しません):

function testme() {
  for var in "$@"
  do
      echo "$var"
  done
}
echo "$description" | fmt -w 80 | testme 

どんなアイデアがありますか?

ベストアンサー1

次の方法を試してください。

function testme() {
  while IFS='' read line
  do
      echo "$line"
  done
}
echo "$description" | fmt -w 80 | testme

おすすめ記事