私は次のことをしようとしています:
#!/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