所以,我写了一个简单的脚本来将sh
-styleexport key=value
语句转换为csh-style
setenv key value
for docker-machine env
。
#!/bin/sh
docker-machine env | sed -e 's/export/setenv/' -e 's/=/ /' -e '$d'
echo '# eval `docker-machine env`'
Run Code Online (Sandbox Code Playgroud)
它产生以下输出
setenv DOCKER_TLS_VERIFY "1"
setenv DOCKER_HOST "tcp://<ipv4 address>:<port>"
setenv DOCKER_CERT_PATH "<HOME>/.docker/machine/machines/default"
setenv DOCKER_MACHINE_NAME "default"
# Run this command to configure your shell:
# eval `docker-machine env`
Run Code Online (Sandbox Code Playgroud)
在 my 中,.tcshrc
我已将此脚本绑定到 alias docker-machine-env-csh
。
我可以使用临时变量来获取这个脚本的输出就好了
% docker-machine-env-csh >! /tmp/csh && source /tmp/csh
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法直接eval
得到这个别名的结果
% eval `docker-machine-env-csh`
setenv: …
Run Code Online (Sandbox Code Playgroud)