我想使用脚本来修改我的Mac终端的首选项,因此它可以在退出终端时关闭窗口.我在脚本中使用此命令:
/usr/libexec/PlistBuddy -c "Set \"Window Settings\":Basic:shellExitAction 0" ~/Library/Preferences/com.apple.Terminal.plist
现在问题是在执行脚本之后,.plist文件被更改了,我检查了一下
defaults read com.apple.Terminal "Window Settings"
现在值为0.
但问题是终端没有重新加载.plist文件,当我退出终端时,它再次将.plist文件重写为'2'.所以我的问题是如何让终端在运行时重新加载.plist文件,或者在退出时停止重写文件.
我在eXist上写xquery .
通常我用这种方式在xml中选择项目:
fn:doc($document_name)/root/a
Run Code Online (Sandbox Code Playgroud)
但现在我想从字符串变量中获取xpath:
let $xpath := request:get-parameter("xpath", "")
fn:doc($document_name)/$xpath
Run Code Online (Sandbox Code Playgroud)
当然它不起作用.我现在找到的唯一方法是使用eval:
util:eval(fn:concat("fn:doc($document_name)", $xpath)):)
Run Code Online (Sandbox Code Playgroud)
但我不想使用,eval因为它很慢而且不安全.
我知道有类似的东西:
fn:doc($document_name)/*[name()='node_name']
Run Code Online (Sandbox Code Playgroud)
但我想通过整个路径选择项目,但不仅仅是节点的名称,我也尝试使用node-xpath()但不知道如何使用它就像name()