关于Linux:bash-如何将换行符传递给脚本?

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

下面是一个名为command.sh的简单脚本:

1
2
3
#!/bin/bash

echo"I received: |$1|"

当我用换行符调用它时,它不会输出:

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

为什么线路馈送会丢失?


将脚本称为:

1
2
./command.sh 'foo
> bar'

\放在换行符之前,只不过是破坏了当前的命令行,而不是真正地向脚本传递换行符。

如果要在单行中执行此操作,请使用:

1
2
./command.sh $'foo
bar'