我想使用我提供的环境作为命令行参数来执行我的 shell。为此,我有一个脚本,在设置了我想要的所有变量后以exec zsh -d -f
结尾,这给了我一个设置了所有变量的新 shell。
例如:
export MY_SESSION="$1"
cd $2
export PS1="$3; "
exec zsh -d -f
我的问题是,我还想在新 shell 可用之前在它上面执行bindkey -e
。我该怎么做?
我设法用expect
做到了这一点.这是我所做的。
#!/usr/bin/env expect
spawn /bin/zsh -d -f
send "source ./bin/activater"
send "export PS1='*| 'r"
send "bindkey -er"
interact
这将成功地将bindkey -e
发送到生成的 zsh shell 上。