【发布时间】:2018-10-25 01:08:32
【问题描述】:
我是终结者和 oh-my-zsh 的当前用户。在 teminator 中,我尝试使用多个选项卡和每个选项卡的初始命令设置自定义布局。我按照此处所述的说明进行操作https://amir.rachum.com/blog/2015/11/28/terminator-multiple-custom-commands/ 主要部分在.zshrc中有这个脚本
echo $INIT_CMD
if [ ! -z "$INIT_CMD" ]; then
OLD_IFS=$IFS
setopt shwordsplit
IFS=';'
for cmd in $INIT_CMD; do
print -s "$cmd" # add to history
eval $cmd
done
unset INIT_CMD
IFS=$OLD_IFS
fi
除了初始脚本中的命令未存储在我的 zsh 历史记录中外,一切正常。如果我直接在 zsh 中执行命令,它也可以正常工作。我的猜测是执行我的命令后加载的历史文件。
【问题讨论】:
-
@AmirRachum 为什么不直接使用解决方法呢?
echo "$cmd" >> ~/.zsh_history -
@TarunLalwani 我已经尝试过你的方法并且它有效,但它在标签之间共享
$cmd -
尝试在初始化脚本中添加
fc -R ~/.zsh_history,看看是否有帮助 -
另外,当我在 mac 上使用
zsh 5.5.1 (x86_64-apple-darwin17.5.0)测试此代码时,它的效果很好。请检查您使用的zsh的版本,看看这是否是问题的根源 -
@TarunLalwani 我在该脚本之前添加了
fc -R ~/.zsh_history命令,但这对我没有帮助。我的 zsh 版本在 Ubuntu 17.10 上是5.2,在我将 Ubuntu 升级到 18.04 之前它不允许我升级它。现在我有zsh 5.4.2 (x86_64-ubuntu-linux-gnu),这是最后一个稳定的。共享历史的问题仍然存在。我注意到我通常的历史记录是以这种方式存储的:: 1527666945:0;mc。也许这是我的问题
标签: oh-my-zsh terminator