bashスクリプトの中で、git URLが有効なgit repoを指していることと、スクリプトがそこから読み取るためのアクセス権を持っていることを確認する最も単純な方法は何でしょうか?リモートgitリポジトリURLの有効性をチェックする方法は?
サポートするプロトコルは、[email protected]
,https://
、およびgit://
です。 Curlはgit://
プロトコルで失敗します。
[email protected]:UserName/Example.git
https://[email protected]/UserName/Example.git
git://github.com/UserName/Example.git
注:私は、URLが構文的に正しいかどうかを確認するように求めていないよ、私はレポはbashスクリプト内から入力されたURLの場所に存在することを確認する必要があります。
非常に良いフィードバック。 +1 – VonC
私は '&> - 'を移植スクリプトに使うことを勧めます。これはbash拡張のようです。他のシェルでは、この構文は期待どおりに機能しません。同様の構文( '>& - 2>& - ')はありますが、機能は同等ではありません。ファイル記述子を静かにリダイレクトするのではなく、多くのプログラムでエラーが発生します。代わりに '>/dev/null 2>&1'を使うことができます。 – nyuszika7h
GIT_ASKPASS = trueを追加して、不正なURLのユーザー名/パスワードの入力を求められないようにしました。 – codeDr