3

次のスクリプトがあります。

#!/bin/sh

echo "111\n111"
echo -e "222\n222"

どちらのコマンドも、bash とダッシュの両方で機能しません。

$ /bin/dash test.sh 
111
111
-e 222
222
$ /bin/bash test.sh 
111\n111
222
222

/bin/sh が bash を指しているのか、dash を指しているのか、また、/bin/bash または /bin/dash が存在するのかがはっきりしないため、これは大きな問題です。また、改行を含む文字列をコマンドにパイプする必要があるため、文字列を分割して改行に単一の「エコー」を配置することもできません。

すべてのシェルで機能する改行を含む文字列を出力する方法はありますか?

4

1 に答える 1