终结者初始脚本

时间:2018-05-15 08:59:09

标签: oh-my-zsh terminator

我是终结者的当前用户&哦,我的-的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中执行命令,它也可以正常工作。我的猜测是执行命令后加载了历史文件。

2 个答案:

答案 0 :(得分:0)

  

此解决方案( 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

答案 1 :(得分:0)

重击

的简单解决方案
  

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

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