bash脚本无法执行bash脚本



我正在尝试运行一个在用户指定的目录中安装某些文件的脚本。用户指定目录后,我想将主文件传输到该目录,以便它可以执行更多的任务,然后最终删除自己一旦完成。

    #prompt for directory in which to build project
    read -p "Drag and drop the directory in which you'd like to build this project:  "
    echo "reply is $REPLY"
    cp ./myScript.sh $REPLY
    /bin/bash $REPLY/myScript.sh

我有脚本从这个问题中执行文件。我尝试使用source $REPLY/myScript.sh以及sh $REPLY/myScript.sh进行操作。我得到错误 /path/to/file/ is a directory

一定是不知道我要运行myScript.sh,但我不明白我是如何给它给它的。

可能的原因是,拖放在目录名称之后放置了空格。

因此:

/bin/bash $REPLY/myScript.sh

将运行

/bin/bash /path/to/directory /myScript.sh

一个简单的修复,如果只是标准空间,则是:

/bin/bash "${REPLY% }/myScript.sh"

您错过了 read命令中的变量,因此会失败,因为您正在读取的内容没有存储。您可以如下替换read命令。

#prompt for directory in which to build project
    read -p "Drag and drop the directory in which you'd like to build this project:  " REPLY

相关内容

  • 没有找到相关文章

最新更新