这是一个名为 command.sh 的简单脚本:
#!/bin/bash
echo "I received: |$1|"
当我用换行符调用它时,它不会输出它:
$ ./command.sh foo\
> bar
I received: |foobar|
为什么换行会丢失?
答案 0 :(得分:5)
将您的脚本称为:
./command.sh 'foo
> bar'
通过在换行前放置\
,您只需要断开当前命令行,而不是真正将换行符传递给您的脚本。
如果您想以单行方式进行,请使用:
./command.sh $'foo\nbar'