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

Linux bash-如何将换行符传递给脚本?,linux,bash,arguments,linefeed,Linux,Bash,Arguments,Linefeed,下面是一个名为command.sh的简单脚本: #!/bin/bash echo "I received: |$1|" 当我用换行符调用它时,它不会输出它: $ ./command.sh foo\ > bar I received: |foobar| 为什么换行符丢失?将脚本称为: ./command.sh 'foo > bar' 通过将\放在换行符之前,您只是中断了当前命令行,并没有真正将换行符传递给脚本 如果要在单行中执行此操作,请使用: ./command.sh $'f

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

#!/bin/bash

echo "I received: |$1|"
当我用换行符调用它时,它不会输出它:

$ ./command.sh foo\
> bar
I received: |foobar|
为什么换行符丢失?

将脚本称为:

./command.sh 'foo
> bar'
通过将
\
放在换行符之前,您只是中断了当前命令行,并没有真正将换行符传递给脚本

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

./command.sh $'foo\nbar'
将脚本称为:

./command.sh 'foo
> bar'
通过将
\
放在换行符之前,您只是中断了当前命令行,并没有真正将换行符传递给脚本

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

./command.sh $'foo\nbar'

谢谢你的快速回答。不过,我已重新措辞了我的问题。你能在这里看一下吗?谢谢你的快速回答。不过,我已重新措辞了我的问题。你能在这里看一下吗?