0

基本的に、一連の定義済みパラメーターを使用しgit-asて呼び出すためのエイリアスであるスクリプト名を作成したいと考えています。git

git --git-dir="$1/.git" --work-tree="$1/" <<OTHER PARAMS>>

別のリポジトリで git を呼び出したい場合は、次を使用します。

git-as "$SRC_REPO" commit -m "Changes made to $CLASS_NAME"

「その他のパラメーター」ビットを適切に機能させるにはどうすればよいですか?

パラメータ(リポジトリの場所を含む)をgitに渡したくないことに注意してください。$1また、他のパラメータには、使用されている例のように二重引用符が含まれる場合があります。

4

3 に答える 3

3

bash (ただし、他のすべてのシェルではありません) では、配列のスライスshiftにバリアントを使用して、最初に他のものを持たずにいくつかの引数を選択できます。

#!/bin/bash
git --git-dir="$1/.git" --work-tree="$1/" "${@:2}"
于 2013-02-17T00:16:37.160 に答える
2

これが私がそれをする方法です:

#!/bin/bash
readonly Directory="$1"
shift
git --git-dir="$Directory/.git" "$@"

まず、リポジトリの場所($1)を別の変数()にコピーします$Directory。次に、shiftすべてのプログラム引数を1つずつ左に移動するために使用する$@ため、Git用の引数のみが含まれます。そこから、新しい引数を使用してGitを呼び出すだけです。

于 2013-02-17T00:05:42.087 に答える
2

シェル スクリプトを使用するとshift n、目的に合わせて $*/$@ 引数を左シフトできます。

# t.sh
echo ARGS $*
shift 
echo ARGS $*

bash t.sh 1 2 3 4 5与える

ARGS 1 2 3 4 5
ARGS 2 3 4 5
于 2013-02-16T23:57:11.370 に答える