Bash shell程序

时间:2017-04-17 18:55:47

标签: bash shell

我正在尝试创建一个文件副本版本,允许用户附加已存在的目标文件。该程序有两个参数:source-file和destination-file。

如果目标文件已存在,则必须要求用户在三个选项中进行选择:覆盖目标文件,追加目标文件或取消。

它应该进行以下参数检查:

  • 参数的数量必须为2.
  • 源文件必须是常规文件。
  • 如果目标文件存在,则它必须是常规文件。

任何人都可以帮我完成这项任务吗?

1 个答案:

答案 0 :(得分:0)

尝试回答您的4个或5个问题:将来,请在每个帖子中提出一个问题并尝试回答,因为所有这些都可以通过Google轻松解答。< / p>

如何检查脚本<{3}}

how many arguments are passed。您还可以使用命令man test进行RTFM

一些例子:

  1. 测试它是否是常规文件(来自上一个链接)返回true / false:

    [-f myfile]

  2. 测试文件是否存在(再次来自上一个链接)返回true / false:

    [-a myfile]

  3. Information on "test"

    我认为这里的“内联”bash版本非常适合您的需求:

    read -p "Do you want to (C)opy, (A)ppend, or (E)nd? " answer
    case ${answer:0:1} in
        c|C )
            cp file1 file2
        ;;
        a|A )
            cat file1 >> file2
        ;;
        * )
            echo "That's not an option, yo"
        ;;
    esac
    

    如何复制文件(在用户选择之后)

    cp file1 file2
    

    如何附加文件(在用户选择之后)

    cat file >> file2