同时查找错误:“ cd:找不到命令”

时间:2020-04-15 16:48:51

标签: bash shell find

我的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

1 个答案:

答案 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变量的意义不大...

相关问题