错误的cp:无法创建常规文件"&QUOT:无此类文件或目录 [英] Error cp: cannot create regular file "": no such file or directory

查看:1281
本文介绍了错误的cp:无法创建常规文件"&QUOT:无此类文件或目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图移动已经检索从源文件夹到目标文件夹中的文件,使他们只能在这个过程中阅读,下面是我目前的code,copyfile()是迭代过程中的子程序在源文件夹中的所有文件。

I am trying to move files that have been searched for from a source folder into a target folder and make them read only in the process, below is my current code, copyfile() is a subroutine that iterates the process for all files in the source folder.

    #!/bin/bash

    copyfile()
    {     
    ls -l "$f"
    read -p "Copy y/n? " yn
    if [ "$yn" == "y" ]
    then
        cp "$f" "$2"  
    else
        echo $f skipped
    fi
    }

    if [ -d $1 ] # $1 source folder
   then
       echo
   else
       echo This directory does not exist
   fi
   if [ -d $2 ] # $2 target folder
   then
       echo Directory Exists
   else
       mkdir $2
       echo $2 created
   fi
   for f in $1/*
   do
       echo "file is $f"
       copyfile "$f"
   done

我目前还没有设法获得权限更改为复制的文件工作(当他们与不同版本的code的这样做)。

I currently have not managed to get the permission change to work for the copied files (when they have done so with different versions of the code).

任何帮助很多AP preciated提前。

Any help is much appreciated in advance.

推荐答案

让你的功能如下:

copyfile() {
    ls -l "$1"
    read -p "Copy y/n? " yn
    if [ "$yn" == "y" ]
    then
        cp "$1" "$2"
        chmod 644 "$2" 
    else
        echo "$1 skipped"
    fi
}

和调用它是这样的:

for f in $1/*
do
       echo "file is $f"
       copyfile "$f" "$2"
done

这篇关于错误的cp:无法创建常规文件"&QUOT:无此类文件或目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆