【问题标题】:Terminator initial script终结者初始脚本
【发布时间】: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


【解决方案1】:

bash的简单解决方案

;bash 附加到您的自定义命令

示例: 将redis-server 更改为redis-server; bash

【讨论】:

    【解决方案2】:

    解决方案(bash

    echo $INIT_CMD
    if [ ! -z "$INIT_CMD" ]; then
        OLD_IFS=$IFS
        IFS=';'
        for cmd in $INIT_CMD; do
            history -s "$cmd"  # add to history
            eval $cmd
        done
        unset INIT_CMD
        IFS=$OLD_IFS
        # ----------------required to refresh the shell session
        history -a # append history lines from this session 
                   # to the history file
        history -r # read the history file and append the 
                   # contents to the history list
    
    fi
    

    解决方案(zsh

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-14
      • 1970-01-01
      • 2011-10-01
      • 2014-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多