我试图在卷曲后运行一个脚本,但是有一个选项——我得到了错误:/usr/bin/install: /usr/bin/install: cannot execute binary fil
curl https://raw.github.com/gist/2513225/a39232a94b25741ddb25e15755bddd5d71999b85/give-tourettes.sh | sh install
什么语法错误?只是一些周五的恶作剧......
我试图在卷曲后运行一个脚本,但是有一个选项——我得到了错误:/usr/bin/install: /usr/bin/install: cannot execute binary fil
curl https://raw.github.com/gist/2513225/a39232a94b25741ddb25e15755bddd5d71999b85/give-tourettes.sh | sh install
什么语法错误?只是一些周五的恶作剧......
显然,curl
发送到其标准输出的内容对于sh
. 如果我不得不猜测,文件的第一行#!/bin/bash\r
是\r
回车符 (CR) 的位置,系统找不到名称中包含 CR 的文件。(并且错误报告令人困惑,因为 CR 破坏了显示。)
也许您应该在将输出tr -d '\015'
提交到 shell 之前通过管道传输它。
URL=https://raw.github.com/gist/2513225/a39232a94b25741ddb25e15755bddd5d71999b85/give-tourettes.sh
curl "$URL" |
tr -d '\015' |
sh install
请参阅:bash:将变量注入字符串会为相关问题添加额外的 \r。
针对这个假设:sh install
尝试install
将当前目录中的文件作为 shell 脚本运行。那可能行不通。你的意思是把它传送到只是sh
为了执行tourettes.sh
?或者您是否希望install
读取它的标准输入(如果是,为什么)?
“丢失回车”的建议是部分相关的;您不希望数据中有 CR,但它可能不是唯一的,甚至不是主要的问题。