どうやら、curl
その標準出力に送信されるものは に受け入れられませんsh
。推測するに、ファイルの最初の行は#!/bin/bash\r
キャリッジ\r
リターン (CR) であり、システムは名前に CR を含むファイルを見つけることができません。(そして、CR が表示を台無しにするため、エラー レポートは混乱を招きます。)
tr -d '\015'
シェルに送信する前に、出力をパイプする必要があるかもしれません。
URL=https://raw.github.com/gist/2513225/a39232a94b25741ddb25e15755bddd5d71999b85/give-tourettes.sh
curl "$URL" |
tr -d '\015' |
sh install
参照: bash: 変数を文字列に挿入すると、関連する問題のために余分な \r が追加されます。
この仮説に対して:現在のディレクトリにsh install
あるファイルinstall
をシェル スクリプトとして実行しようとします。それはうまくいかないかもしれません。sh
を実行するためだけにパイプするつもりでしたtourettes.sh
か? install
または、その標準入力を読み取ることを期待していますか (もしそうなら、その理由)?
「改行をなくす」というアドバイスは部分的に関連しています。データに CR は必要ありませんが、ここでの唯一の問題、または主要な問題でさえない可能性があります。