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

这是一个简单的脚本叫做command.sh

#!/bin/bash echo "I received: |$1|" 

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

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

为什么换行会丢失?

调用你的脚本为:

 ./command.sh 'foo > bar' 

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

如果你想在单行中做,那么使用:

 ./command.sh $'foo\nbar'