bash - 如何将换行符传递给脚本?
bash - How to pass a line feed to a script?
这是一个名为 command.sh:
的简单脚本
#!/bin/bash
echo "I received: ||"
当我用换行符调用它时,它没有输出:
$ ./command.sh foo\
> bar
I received: |foobar|
为什么换行会丢失?
将您的脚本命名为:
./command.sh 'foo
> bar'
通过将 \
放在换行符之前,您只是打破了当前命令行,并没有真正将换行符传递给您的脚本。
如果您想在单行中完成,请使用:
./command.sh $'foo\nbar'
这是一个名为 command.sh:
的简单脚本#!/bin/bash
echo "I received: ||"
当我用换行符调用它时,它没有输出:
$ ./command.sh foo\
> bar
I received: |foobar|
为什么换行会丢失?
将您的脚本命名为:
./command.sh 'foo
> bar'
通过将 \
放在换行符之前,您只是打破了当前命令行,并没有真正将换行符传递给您的脚本。
如果您想在单行中完成,请使用:
./command.sh $'foo\nbar'