我最近切换到了powershell,因为我的Cygwin bash在使用maven时开始出现毫无意义的编译错误。我已经找到了如何在(https://stackoverflow.com/questions/9259723/is-there-a-windows-shell-tool-can-keep-history)中保存和恢复我的命令历史记录,这似乎是有效的(使用“历史记录”将在一个干净的开始后显示最近的命令)。
我似乎不能像在当前会话中使用该命令那样使用向上箭头访问此历史记录。
有什么想法吗?
发布于 2012-06-12 18:24:53
你不能。没有访问控制台程序历史记录的API。
发布于 2012-06-12 21:26:59
我建议改掉这个旧习惯(我知道,它们很难消亡),并使用为此而构建的特定于PowerShell的功能。事实上,这是非常棒的。这是#* tab,这里有两个选项(tab在括号(tab)中表示应该按下选项卡按钮):
#pattern_from_command[tab] -> Powershell会遍历历史记录中包含"pattern_from_command“的所有命令。
-> EG:在Powershell中:键入#echo,按tab键-> Powershell循环浏览历史记录中包含"echo“的所有命令(当然,如果有)。
#<id>[tab] -> Powershell使用id完成命令。
-> EG:在Powershell中:键入#3,按tab键,然后Powershell将历史上的第三(3)条命令写入命令行(虽然不是直接执行,但只需按enter键即可执行)。
我知道这和你在bash中做的不一样,但我认为这是值得尝试和习惯的。
发布于 2013-10-26 00:12:47
从2013年10月起,现在可以使用精彩的PSReadline模块:http://github.com/lzybkr/PSReadLine
当powershell会话退出时,您仍然需要保存历史记录,并在加载PSReadline之前将其加载到profile.ps1中(请参阅http://technet.microsoft.com/en-us/library/ee156792.aspx)。当PowerShell存在时,您可以注册一个钩子来保存历史记录,使用这样的钩子:Powershell profile "on exit" event?。与普通的PowerShell不同,PSReadLine允许up/down键访问这个历史缓冲区。
https://stackoverflow.com/questions/10993644
复制相似问题