Cec*_*lia 2 bash cd subshell dockerfile
文件夹结构是这样的:
folder_01
??? folder_02???Dockerfile_02
??? folder_03???Dockerfile_03 & example.sh
Run Code Online (Sandbox Code Playgroud)
在 example.sh 脚本中,我想使用dockerfile_02cd导航回folder_02并使用 dockerfile_02 来构建图像,然后导航回当前目录(即folder_03)这是我尝试过的:
cd ..
cd ./folder_02
docker build . -t image_name
cd ..
cd ./folder_03
Run Code Online (Sandbox Code Playgroud)
在intelliJ中,它给了我警告using a subshell to avoid having to cd back,我阅读了一些关于它的文档但没有解决方案,有人可以帮助我吗?
您可以在子shell中调用命令(...):
(
cd ./folder_02
docker build . -t image_name
)
(
cd ./folder_03
something else
)
Run Code Online (Sandbox Code Playgroud)
在我想保留环境的脚本中,我使用pushd+ popd。
pushd ./folder_02 >/dev/null
docker build . -t image_name
popd >/dev/null
pushd ./folder_03 >/dev/null
something soemthing
popd >/dev/null
Run Code Online (Sandbox Code Playgroud)