3

Bashスクリプトは初めてなので、優しくしてください。

SSH (PuTTY) 経由で Ubuntu サーバーに接続しています。このコマンドを実行すると、ダウンロードして実行する bash スクリプトがユーザー入力を許可し、その入力をエコーすることが期待されます。入力リクエストのエコーラベルを書き出して終了するだけのようです。

wget -O - https://raw.github.com/aaronhancock/pub/master/bash/readtest.sh | bash

私が間違っているかもしれない手がかりはありますか?

更新:この bash コマンドはまさに私が望んでいたことを行います

bash <(wget -q -O - https://raw.github.com/aaronhancock/pub/master/bash/readtest.sh)
4

3 に答える 3

1

ジョナサンはすでに述べbashました:パイプから標準入力を取得します。bashしたがって、インタラクティブに何かを入力したい場合は、スクリプトをパイプすることはできません。ただし、次のプロセス置換機能を使用できbashます (ログイン シェルが であると仮定bash):

bash <(wget -O - https://raw.github.com/aaronhancock/pub/master/bash/readtest.sh)
于 2012-11-30T16:20:14.847 に答える
0

Bash は、端末からではなく、パイプから stdin を取得しています。そのため、スクリプトを bash にパイプして、ユーザー入力に「読み取り」コマンドを使用することはできません。

スクリプトをローカル ファイルに保存して bash にパイプすると、同じ問題が発生することに注意してください。

less readtest.sh | bash
于 2012-11-30T16:12:48.670 に答える
0

これも機能し、データを現在のスコープに保つのに役立つことがわかりました。

評価 " wget -q -O - https://raw.github.com/aaronhancock/pub/master/bash/readtest.sh"

于 2012-11-30T17:10:19.213 に答える