私は次のことをしようとしています:
#!/bin/sh
ssh user@server "echo \"Test \n for newline\""
これは次のように表示されます。
test \n for newline
\nシェルを実際の改行として解釈するにはどうすればよいですか?
-eなどのオプションを使用してみてくださいecho -e "Test \n for newline"。
echoオプションがない場合は-e、 を使用しますprintf。それは広く利用可能であり、その実装にはほとんど多くのバリエーションがありません。
移植性を高めるには、printf代わりに を使用しechoます。
#!/bin/sh
ssh user@server 'printf "Test \n for newline"'
POSIX 標準によれば、改行文字としてecho処理する必要があります。オプションを指定しない限り、\nビルトインbashはそうしません。echo-e