bash - 如何将换行符传递给脚本?

bash - How to pass a line feed to a script?

这是一个名为 command.sh:

的简单脚本
#!/bin/bash

echo "I received: ||"

当我用换行符调用它时,它没有输出:

$ ./command.sh foo\
> bar
I received: |foobar|

为什么换行会丢失?

将您的脚本命名为:

./command.sh 'foo
> bar'

通过将 \ 放在换行符之前,您只是打破了当前命令行,并没有真正将换行符传递给您的脚本。

如果您想在单行中完成,请使用:

./command.sh $'foo\nbar'