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

    #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


我已经有了执行该question文件的脚本。我尝试使用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"

关于linux - Bash脚本无法执行bash脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30171999/

10-15 01:11