我正在编写一个 shell 作为学校项目。内置命令中有一个“历史”命令和一些选项,例如用于清理的“-c”或用于在历史记录中添加参数的“-s”。其中一个选项是“-p”,那个人说:
-p 对参数执行历史替换并将结果显示在标准输出上,而不将结果存储在历史列表中。
我真的不明白这个选项是做什么的。当我尝试它时,它显示参数并且不执行任何其他操作。
有人知道吗?
-p 对参数执行历史替换并将结果显示在标准输出上,而不将结果存储在历史列表中。
这是示例,说明了它的实际作用
# clear history
$ history -c
# call date - this will be saved in history
$ date
Tue Oct 3 23:47:24 IST 2017
# call call - this also will be saved in history
$ cal
October 2017
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
# see what all saved so far
$ history
996 date
997 cal
998 history
# see this prints string on stdout, but doesn't save in history
$ history -p "This is test string which is not stored in history"
This is test string which is not stored in history
# as you can see history -p "....." is missing
$ history
996 date
997 cal
998 history
Run Code Online (Sandbox Code Playgroud)