0

PuTTy ウィンドウにいくつかのコマンドを送信して、Linux に MySQL を自動的にインストールするスクリプトをコンパイルするのに忙しくしています。

私が抱えている問題は、1 つのリポジトリのダウンロード リンクが変化し続けることです。リンクにアクセスできない場合は、プロンプトをポップアップ表示する必要があります。

これが私がこれまでに得たものです:

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 
&& echo "WE GOT IT" || echo "URL Invalid, Please specify new URL:" 
&& read newurl && wget $newurl

ただし、ファイルが存在するかどうかに関係なく結果を実行すると、次のようになります。

「||」の後の後半全体を作成するにはどうすればよいですか 最初の URL が機能しない場合にのみ発生しますか?

4

2 に答える 2

1

コードのリファクタリング

あなたのコードはあまりにもゆがんでいます。波括弧式で改善できますが、ロジックを if/else ステートメントにリファクタリングする方がはるかに優れています。(テストされていない)例として:

if wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
then
    echo 'We got it!'
else
    read -p 'URL invalid. Please specify new URL: '
    wget "$REPLY"
fi
于 2013-01-06T20:03:21.233 に答える
0
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 
&& echo "WE GOT IT" && exit || echo "URL Invalid, Please specify new URL:" 
&& read newurl && wget $newurl


Add "exit" on left side of ||  with && operator ,,if the left argument is true then it will download that file and exit from terminal otherwise prompt for new url
于 2013-01-06T20:16:01.623 に答える