我的find
... while
循环出了点问题。我尝试查找所有以 Hello 开头的文件夹。在每个 Hello 文件夹中,都有一个文件夹 0 ,因此我想更改为该文件夹。但是一定有问题:
find -maxdepth 1 -name "Hello.*" -type d|while read dir
do
cd "$dir"/0/
pwd
resourcenfolder=$(ls -d *)
scp -oStrictHostKeyChecking=no -r ${WORKSPACE}/"$resourcenfolder" root@${TARGET_IP}:/var/navdb/hwr/MS8/
cd ../..
done
我收到一个非常奇怪的错误。它是紧接着cd
之后的第一个do
:
cd: command not found
答案 0 :(得分:0)
我建议使用Bash for循环简化GLOBing,并使用子shell简化change-dir活动。试试这个:
for dir in Hello*; do
(cd "$dir"/0/; for resource in *; do
scp -oStrictHostKeyChecking=no -r ${WORKSPACE}/"$resource" root@${TARGET_IP}:/var/navdb/hwr/MS8/
done)
done
注意事项:TARGET_IP值似乎合理。但是我担心WORKSPACE变量的意义不大...