sudoとかのsh -cで使うechoで改行を出力したくなりました。
echoのみであれば\nを使えば改行されます。
$ echo "[Service]\nLimitNOFILE=1006500\nLimitNPROC=1006500"
リダイレクトで書き出しを行いたかったのでsh -cに渡したのですが改行されません。
$ sudo sh -c 'echo "[Service]\nLimitNOFILE=1006500\nLimitNPROC=1006500" '
[Service]\nLimitNOFILE=1006500\nLimitNPROC=1006500
バックスラッシュを重ねてもダメ。
$ sudo sh -c 'echo "[Service]\\nLimitNOFILE=1006500\\nLimitNPROC=1006500" '
[Service]\nLimitNOFILE=1006500\nLimitNPROC=1006500
調べたところ-e
オプションを使えばOKでした。
$ sudo sh -c 'echo -e "[Service]\\nLimitNOFILE=1006500\\nLimitNPROC=1006500"'
[Service]
LimitNOFILE=1006500
LimitNPROC=1006500
参考