我正在运行一个带有ubuntu xenial底座的奇异容器。
当我尝试使用从echo命令重定向到文件系统来创建文本文件时,重定向的目标被解释为位于主机上而不是容器上。
下面是命令-
singualrity exec ubuntu_xenial_image.img echo "test" >> /mnt/test.txt
它没有在名为/ mnt的容器文件夹中创建文件test.txt,而是尝试将test.txt文件写入主机根文件夹/mnt/test.txt,从而导致-无权限错误,显然我不知道没有写主机根文件夹的权限。
您知道为什么重定向应该转到主机文件系统而不是容器文件系统,因为应该执行 singularity exec 命令吗?
答案 0 :(得分:0)
完整的命令被分成
singularity exec ubuntu_xenial_image.img echo "test"
用于容器,并且输出重定向到主机文件系统中的>> /mnt/test.txt。
更正
$ singularity exec ubuntu_xenial_image.img sh -c "echo" test ">> /mnt/test.txt"
因此,完整的命令将在容器内由sh解释。
除此之外,您还需要验证 / mnt 目录的写入权限,或使用 sudo 执行。