我正在尝试编写一个将文件复制到docker中的脚本,我想为命令“ docker exec -i [name_docker]”使用一个变量(嗯,我的老板想要这样)。 问题出在变量无法发挥作用时。
它一直在说没有变数
root@user:/home/user# bash -x test
+ set -e
++ docker exec -i dockerName
"docker exec" requires at least 2 arguments.
See 'docker exec --help'.
Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Run a command in a running container
+ cmd=
+ mkdir -p /home/ubuntu/testie
++ docker exec -i dockerName stat -c %a /home/ubuntu/testie/test
stat: cannot stat '/home/ubuntu/testie/test': No such file or directory
+ filepermissions=
那是给我的错误
#!/bin/bash
set -e
cmd=$(docker exec -i dockerName) mkdir -p /home/ubuntu/testie
filepermissions=$(docker exec -i dockerName -c '%a' /home/ubuntu/testie/test)
sudo docker cp /home/user/test dockerName:/home/ubuntu/testie
if [ $filepermissions == 777 ]; then
echo "Free"
else
echo "Restrictive. Gonna give it freedom"
$commandDocker chmod 777 /home/ubuntu/testie/test
fi
我原本希望轻松删除该脚本,但似乎我会永远使用它。