2
我们已经创建了大部分相同的定制版本docker's quickstart script。一个进一步的定制,我们想提出的是,当你在一个泊坞窗配置shell来更改提示明确指出:如何更改生成的子bash的bash提示符?特别是码头外壳
(docker) ~/src/code $
脚本生成子壳这样的:
eval $($DOCKER_MACHINE env $VM --shell=bash)
USER_SHELL=$(dscl /Search -read /Users/$USER UserShell | awk '{print $2}' | head -n 1)
if [[ $USER_SHELL == *"/bash"* ]] || [[ $USER_SHELL == *"/zsh"* ]] || [[ $USER_SHELL == *"/sh"* ]]; then
$USER_SHELL --login
else
$USER_SHELL
fi
我可以很容易地用export PS1="(docker)$"
更改我的主机提示,但是难以在产生子shell中进行这样的更改。
我已经试过$USER_SHELL --login --noprofile -c "export PS1='(docker)'"
没有运气。
登录shell会清除环境,但“HOME”,“SHELL” ,PATH,TERM,LOGNAME和USER。如果你没有很强的理由将shell作为登录shell运行,那么你可以直接删除'--login'选项。 – 4ae1e1
@ 4ae1e1真的吗? 'export FOO = 5; bash --login';然后'echo $ FOO'。仍然会打印5.据我所知,登录shell和“常规”shell之间唯一的区别在于它在启动时会生成一个不同的文件。 – chepner
嗯,我想我错了。忽略我的评论。 – 4ae1e1