关于bash:将换行符作为shell中的参数传递

Passing Newline character as an argument within shell

本问题已经有最佳答案,请猛点这里访问。

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

1
./myprog <character>

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


最简单但不是很漂亮:

1
2
./myprog"
"

编辑:仍然是最简单的,但我忘了它:

1
2
./myprog $'
'

另一种选择:

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

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