首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash脚本执行bash脚本失败

Bash脚本执行bash脚本失败
EN

Stack Overflow用户
提问于 2015-05-11 15:42:47
回答 2查看 188关注 0票数 0

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

代码语言:javascript
复制
    #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,但是我不明白我是如何给它一个目录的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-11 16:14:00

一个可能的原因是拖放是在目录名后面加上空格。

因此:

代码语言:javascript
复制
/bin/bash $REPLY/myScript.sh

就会跑

代码语言:javascript
复制
/bin/bash /path/to/directory /myScript.sh

如果这只是一个标准空间,那么一个简单的修复方法是:

代码语言:javascript
复制
/bin/bash "${REPLY% }/myScript.sh"
票数 1
EN

Stack Overflow用户

发布于 2015-05-11 16:04:19

您在read命令中丢失了变量,非常明显,它将失败,因为您正在读取的任何内容都不会被存储。您可以如下所示替换read命令。

代码语言:javascript
复制
#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
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30171999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档