シェルスクリプトのエコーが-nオプションを印刷できない理由[重複]

シェルスクリプトのエコーが-nオプションを印刷できない理由[重複]

以下のスクリプトは印刷できますが、-m印刷することはできません-n

#!/bin/sh

echo $@
$ sh test.sh -m
-m
$ sh test.sh -n
$

答え1

-n実際のオプションだからですecho。ほとんどのツールは--「今後はオプションがなく、引数のみをサポートします」をサポートしているので、以下を試してください。

echo -- $@

状況を改善します。

関連情報