小编tim*_*y92的帖子

在 bash 中创建我自己的 cp 函数

对于一项作业,我被要求巧妙地编写一个 bash 函数,该函数具有与函数cp(复制)相同的基本功能。它只需要将一个文件复制到另一个文件,因此无需将多个文件复制到一个新目录。

由于我是 bash 语言的新手,我不明白为什么我的程序不起作用。原始函数要求覆盖已经存在的文件,所以我尝试实现它。它失败。

该文件似乎在多行失败,但最重要的是在检查要复制到的文件是否已存在 ( [-e "$2"]) 的条件下。即便如此,如果满足该条件(文件名...),它仍会显示应该触发的消息。

谁能帮我修复这个文件,可能为我对语言的基本理解提供一些有用的见解?代码如下。

#!/bin/sh
echo "file variable: $2"
if [-e file]&> /dev/null
then
    echo "The file name already exists, want to overwrite? (yes/no)"
    read  | tr "[A-Z]" "[a-z]"
    if [$REPLY -eq "yes"] ; then
        rm "$2"
        echo $2 > "$2"
        exit 0
    else
        exit 1
    fi
else
    cat $1 | $2
    exit 0
fi
Run Code Online (Sandbox Code Playgroud)

shell scripting bash shell-script files

8
推荐指数
1
解决办法
4794
查看次数

标签 统计

bash ×1

files ×1

scripting ×1

shell ×1

shell-script ×1