码头工人的变量

时间:2019-07-09 11:53:36

标签: linux bash docker docker-compose

我正在尝试编写一个将文件复制到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

我原本希望轻松删除该脚本,但似乎我会永远使用它。

0 个答案:

没有答案