bashスクリプトを実行し、各エコーの間にスペースを入れたいです。現在私はそうします:
#!/bin/bash
echo
echo 'foo'
echo
echo 'bar'
出力
foo
bar
しかし、それほど専門的ではないようです。このようにしてみましたが、最初の行のスペースが倍増します。
echo -e '\n'
echo -e 'foo\n'
echo -e 'bar\n'
最初の行を変更するには、次のように入力します。
echo -e ''
別の方法がありますか?
ベストアンサー1
フォーマットされた出力が必要な場合は幸運かもしれませんprintf
。
$ printf "\n%s\n\n%s\n" "foo" "bar"
foo
bar
$
私はこれをC関数と考える傾向がありますが、printf
以下の説明で@freddyが提案したように、次のように単純化できます。
$ printf "\n%s\n" "foo" "bar"
foo
bar
(man zshbuiltins
しかしこれは実装では一般的だと思います):
If arguments remain unused after formatting, the format string is reused until all arguments have been consumed.