如何解决警告 ''using a subshell to avoid having to cd back'
how to resolve warning ''using a subshell to avoid having to cd back'
文件夹结构如下:
folder_01
├── folder_02├──Dockerfile_02
├── folder_03├──Dockerfile_03 & example.sh
在 example.sh 脚本中,我想使用 cd
导航回 folder_02
并使用 dockerfile_02 构建图像,然后导航回当前目录(folder_03
)
这是我尝试过的:
cd ..
cd ./folder_02
docker build . -t image_name
cd ..
cd ./folder_03
在 intelliJ 中,它给了我警告 using a subshell to avoid having to cd back
,我阅读了一些关于它的文档但没有找到解决方案,有人可以帮助我吗?
您可以在子 shell 中调用命令 (...)
:
(
cd ./folder_02
docker build . -t image_name
)
(
cd ./folder_03
something else
)
在我想要保护环境的脚本中,我使用 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
你可以像@KamilCuk 所说的那样使用 subshell (...)
(cd ../folder_02 && docker build . -t image_name )
(cd ../folder_03 && something else)
或
(cd ../folder_02; docker build . -t image_name )
(cd ../folder_03; something else)
由于 Docker,您可以使用 -f 参数 select 要使用的 Docker 文件:
docker build -t path/yourproject -f dockerfiles/myownDocker.docker .
文件夹结构如下:
folder_01
├── folder_02├──Dockerfile_02
├── folder_03├──Dockerfile_03 & example.sh
在 example.sh 脚本中,我想使用 cd
导航回 folder_02
并使用 dockerfile_02 构建图像,然后导航回当前目录(folder_03
)
这是我尝试过的:
cd ..
cd ./folder_02
docker build . -t image_name
cd ..
cd ./folder_03
在 intelliJ 中,它给了我警告 using a subshell to avoid having to cd back
,我阅读了一些关于它的文档但没有找到解决方案,有人可以帮助我吗?
您可以在子 shell 中调用命令 (...)
:
(
cd ./folder_02
docker build . -t image_name
)
(
cd ./folder_03
something else
)
在我想要保护环境的脚本中,我使用 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
你可以像@KamilCuk 所说的那样使用 subshell (...)
(cd ../folder_02 && docker build . -t image_name )
(cd ../folder_03 && something else)
或
(cd ../folder_02; docker build . -t image_name )
(cd ../folder_03; something else)
由于 Docker,您可以使用 -f 参数 select 要使用的 Docker 文件:
docker build -t path/yourproject -f dockerfiles/myownDocker.docker .