如何查看所有zsh设置的当前值?
例如,我目前没有设置HISTSIZE和SAVEHIST,因此env | grep HIST
和set | grep HIST
没有显示任何内容。那么我怎样才能看到正在使用的默认值?
答案 0 :(得分:7)
除解析文档或源代码外,没有选项可以获取未定义变量的默认值。
HISTSIZE
和SAVEHIST
不是设置,它们是特殊变量。有一种方法可以列出所有变量,但我知道无法列出那些特殊的变量并用作设置。
为了帮助您列出作为变量实现的参数,可以使用zsh/parameter
模块(zmodload zsh/parameter
加载它)。它有一个关联数组$parameters
,其中键是变量名,值是变量类型描述。 HISTSIZE
和SAVEHIST
都显示为integer-special
。 HISTCHARS
显示为scalar-special
。请注意RANDOM
此处只显示为HISTSIZE
:integer-special
,因此您无法使用此功能获取用作选项的特殊变量。但您始终可以使用PARAMETERS USED BY THE SHELL
的{{1}}部分。
我不知道任何允许您确定这些参数的默认值的选项,除了解析文档或源代码。
man zshparam
如果您想查看非默认设置:
如果未提供参数,则打印当前设置的所有选项的名称。选择表单以便最小化与当前仿真的默认选项的差异(默认值) 仿真是原生zsh,如zshoptions(1)所示。默认情况下为仿真启用的选项将显示前缀为no,如果它们已关闭,而其他选项则显示为不带 前缀no,仅当它们打开时。除了用户从默认状态更改的选项外,shell自动激活的任何选项(例如,SHIN_STDIN或INTERACTIVE)都将 显示在列表中。选项KSH_OPTION_PRINT进一步修改了格式,但在这种情况下,选择带或不带前缀的选项的基本原理保持不变。
使用:
也是有道理的# setopt | grep hist
nobanghist
extendedhistory
histfcntllock
histignorealldups
histignorespace
histnostore
histreduceblanks
histsavenodups
histverify
incappendhistory
如果未提供参数,则会打印当前未设置的所有选项的名称。
或者只需按照帮助使用
即可# unsetopt | grep hist
noappendhistory
cshjunkiehistory
histallowclobber
nohistbeep
histexpiredupsfirst
histfindnodups
histignoredups
histlexwords
histnofunctions
nohistsavebycopy
histsubstpattern
sharehistory
请注意,# setopt kshoptionprint
# setopt | grep hist
noappendhistory off
nobanghist on
cshjunkiehistory off
extendedhistory on
histallowclobber off
nohistbeep off
histexpiredupsfirst off
histfcntllock on
histfindnodups off
histignorealldups on
histignoredups off
histignorespace on
histlexwords off
histnofunctions off
histnostore on
histreduceblanks on
nohistsavebycopy off
histsavenodups on
histsubstpattern off
histverify on
incappendhistory on
sharehistory off
和setopt
的输出在使用unsetopt
选项时匹配。
答案 1 :(得分:4)
要显示当前值,是否已设置(在这种情况下,它显示默认值):
➜ ~ echo $SAVEHIST
10000
➜ ~ echo $HISTSIZE
10000
答案 2 :(得分:0)
我不知道你...(我的意思是, i do use .prezto
),但这是"自动完成"输入x509certificate
TAB 后,我 ...
告诉我有用的东西,比如..
_client = MqttClientFactory.CreateClient(address, obj.ClientID,"username","password");
和
setopt