这是一个简单的脚本叫做command.sh :
#!/bin/bash echo "I received: |$1|"
当我用换行符调用它时,它不输出:
$ ./command.sh foo\ > bar I received: |foobar|
为什么换行会丢失?
调用你的脚本为:
./command.sh 'foo > bar'
通过在换行符之前放置\
,您仅仅是打破了当前的命令行,并没有真正将换行符传递给脚本。
如果你想在单行中做,那么使用:
./command.sh $'foo\nbar'