首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在GitHub中执行远程Bash脚本失败的有多种方法--可能是由于Windows10

在GitHub中执行远程Bash脚本失败的有多种方法--可能是由于Windows10
EN

Unix & Linux用户
提问于 2018-02-11 21:58:56
回答 1查看 240关注 0票数 1

我在GitHub中有这个GitHub,我已经成功地逐行执行了几次(在不同的版本中)。

由于复制粘贴每个测试的所有行非常令人沮丧,我尝试使用raw表单使用curl执行远程Bash脚本,但在各种尝试中都失败了:

代码语言:javascript
运行
复制
bash <(curl -s https://raw.githubusercontent.com/benqzq/uncwe/master/install.sh)

代码语言:javascript
运行
复制
curl -s https://raw.githubusercontent.com/benqzq/uncwe/master/install.sh | bash

两次都在大约3秒后完全失败,错误如下:

/dev/fd/63:第7行:$'\r':未找到命令

我的理论是,我可能需要转换出所有的回车,因此我尝试:

代码语言:javascript
运行
复制
curl -s https://raw.githubusercontent.com/benqzq/uncwe/master/install.sh | tr -d '\r' | bash

这带来了脚本的部分执行。例如,虽然apt-get installexportgit clonerm -rf ${repo}/.git/和其他几个操作进行得很好,但是wget/unzip和几个带有前导选项卡的文件的处理都没有得到正确的处理。

我认为,在代码的某些部分,GitHub图形用户界面可能会将引导的空白空间从制表符更改为空格,反之亦然,因此我尝试将所有领先的空白空间更改为表格:

代码语言:javascript
运行
复制
curl -s https://raw.githubusercontent.com/benqzq/uncwe/master/install.sh | sed "s/^ */\t/" | tr -d '\r' | bash

结果似乎与上一次相同。

由于这四种方法失败,我想知道还有什么可用的。遗憾的是,我还没有在谷歌找到其他的例子。

也许我遇到了这些问题,因为我通常是从Windows 10工作的,每个文件中都会添加回车,但是人们可能会问,为什么像代码示例中那样“将它们翻译出来”会导致执行错误。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-02-14 14:26:25

我用dos2unix解决了这个问题。

我安装了它:

代码语言:javascript
运行
复制
sudo apt-get update
sudo apt-get install dos2unix

然后运行curl,将内容下载到stdout。我用管道将stdout中的内容通过dos2unix进行更改,然后通过bash执行它。

代码语言:javascript
运行
复制
sudo curl -s https://raw.githubusercontent.com/benqzq/ulcwe/master/install.sh | dos2unix | bash
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/423465

复制
相关文章

相似问题

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