Linux
mv: cannot stat ‘filename’ no such file or directory
我正在使用以下
sudo docker exec -w /home/Docker1 Docker_1 ls -S | cat -n | while read n f; do mv -n "$f" "$n.txt"; done
在 docker 容器(使用 alpine)中執行排序/重命名命令的命令,但是它失敗並出現以下錯誤
mv:無法統計“文件名”沒有這樣的文件或目錄“
我認為沒有合理的理由為什麼會出現這種情況?
管道不在 docker 下執行。
sudo docker exec -w /home/Docker1 Docker_1 ls -S # Runs "docker" as root and then calls "ls -S" in Docker's context cat -n # Runs in your local user's context (not root, not docker) while read n f; do mv -n "$f" "$n.txt"; done # Also in your local user's context
您是否希望重命名 docker 容器中的文件?也許這個(但我無法測試它)。當你感到舒服時移除
echo
它會做你想做的事:sudo docker exec -w /home/Docker1 Docker_1 sh -c ' n=1; ls -S | while IFS= read -r f; do echo mv -f "$f" "$n.txt"; n=$((n+1)); done '