代码之家  ›  专栏  ›  技术社区  ›  user3351901

在bash中使用变量作为重定向输出的目录路径

  •  1
  • user3351901  · 技术社区  · 12 年前

    我正在尝试编写一个脚本,允许用户输入要存储文件的目录的路径。我有这样的东西:

    #! /bin/bash
    echo "Enter the directory path"
    read varpath
    varfile="Filename"
    echo "This is a file" > "$varpath$varfile"
    

    我想要的是用户输入的名为“文件名”的目录路径中的一个文件,并有一行“这是一个文件”。但是,我收到一个错误消息,说没有这样的文件或目录。有人能告诉我出了什么问题吗,或者是否有其他解决办法。

    谢谢

    2 回复  |  直到 12 年前
        1
  •  4
  •   Amit Saurabh Jain    12 年前

    你可能需要一个 / .

    echo "This is a file" > "${varpath}/${varfile}"
    

    你也可以 echo 确保变量正确

        2
  •  0
  •   Shreyas Purohit    12 年前

    您可能需要处理的几件事:

    1. 用户输入目录包含所需的文件夹,如果没有,请使用 mkdir -p 命令

    2. 用户输入以/结尾或不以/结尾的目录路径。如果没有,您可能需要自己添加。