首页 > 解决方案 > 在 shell 中将换行符作为参数传递

问题描述

该程序将单个字符作为参数。

./myprog <character>

我如何将 shell 中的\n传递给 myprog ?

标签: bashnewline

解决方案


最简单但不是很漂亮:

./myprog "
"

编辑:仍然最简单,但我忘记了:

./myprog $'\n'

另一种选择:

./myprog ^M                  # not ^ and M, but the literal LF character
                             # in `bash`, obtained by Ctrl-V, Enter

或者,您可以执行这些程序所做的事情,并自己解析参数。如果您说./myprog "\n",您的代码将接收两个字符的字符串\n作为其第一个参数 - 查找这样的序列并将其转换为换行符(例如,通过printf您的语言或等效的参数传递参数,或通过正则表达式替换... )。


推荐阅读