最近写了一个程序,需要分页功能, 但是想给个提示却是很难.原来在linux下的命令是:
"more -d -p 文件名",但是在Mac下死活就是不行。于是乎,我man了一把。原来在Mac下-p用作了模式匹配,这样原来要显示的文件名成了p选项的参数,自然就缺少了要显示的文件名参数,当然达不到预期的目的。于是我根据手册改成“more -d --prompt=more 文件名”,但是令人奇怪的是,显示出来提示串成了“ore”,好像“m”字符被吃了,怪哉。好我投降,改为“more -d --prompt=_more 文件名”,提示串更不对了,成了百分比。如此看了在提示串前必须加"m",更怪的还在后头,“--prompt=prompt_string”还有一个简写“-P prompt_string”,而实际上如果这样写是绝对达不到目的.如果写成这样就成了"-Pmprompt_string",那提示串准就是"prompt_string",值得注意的是提示串中间是绝对不能有空格的如果有的话就只能在空格前加转义符"/"了.就这样凭空出现了"Pm"这样一个选项.这在手册里绝对查不到的.从程序实现角度看,我估计写more的那个程序员,他的解析命令行选项有问题.至少是在解析"-P","--prompt",这两个选项有问题.我在Mac PPC,Mac X86都测试过,一模一样的效果.