该程序接受单个字符作为参数。
./myprog <character>
我该如何在shell中传递\n给我的程序?
最简单但不太美观:
./myprog "
"
编辑:仍然是最简单的方法,但我忘了它:
./myprog $'\n'
另一种选择:
./myprog ^M # not ^ and M, but the literal LF character
# in `bash`, obtained by Ctrl-V, Enter
或者,您可以像这些程序一样自己解析参数。如果您输入 ./myprog "\n"
,您的代码将接收到长度为两个字符的字符串\n
作为其第一个参数 - 查找这样的序列并将其转换为换行符(例如通过将参数传递给您语言中的printf
或等效函数,或通过正则表达式替换…)。
$( )
的方法即使加上引号也行不通,因为它会剥离输出中的尾部换行符。反引号也不行,因为它们也会这样做。 - Gordon Davisson