该程序将单个字符作为参数。
./myprog <character>
Run Code Online (Sandbox Code Playgroud)
我如何将 shell 中的\n传递给 myprog ?
最简单但不是很漂亮:
./myprog "
"
Run Code Online (Sandbox Code Playgroud)
编辑:仍然最简单,但我忘记了:
./myprog $'\n'
Run Code Online (Sandbox Code Playgroud)
另一种选择:
./myprog ^M # not ^ and M, but the literal LF character
# in `bash`, obtained by Ctrl-V, Enter
Run Code Online (Sandbox Code Playgroud)
或者,您可以执行这些程序所做的操作,然后自己解析参数。如果您说./myprog "\n",您的代码将接收两个字符的字符串\n作为其第一个参数 - 查找这样的序列并将其转换为换行符(例如,通过传递参数printf或您语言中的等效项,或通过正则表达式替换... )。