等号および&&演算子を持つ環境変数

等号および&&演算子を持つ環境変数

このコマンドの環境変数を作成したいと思います。

git --git-dir= echo test-folder/.git/ add Steps-to-follow.txt && git --git-dir= echo test-folder/.git/ commit

私の関連抜粋は次のとおりです~/.bash_profile

export git11='git --git-dir='
export equal==
export git12='test-folder/.git/ add Steps-to-follow.txt && git --git-dir='
export git13='test-folder/.git/ commit'

これらすべての変数を使用して1つずつ試しましたが、$variable-nameシェルブロブは拡張時に必要な方法で渡さないようです(一部の標準準拠のため)。

  1. まだ実際に使ったことはありませんが、export equal==持っています(動作させようとランダムに試みています)。

  2. コマンドをパイピングしてみましたが、それは愚かなことで動作しません。

  3. 問題は=環境変数のシンボルにあると思います(おそらく別の割り当てを開始すると仮定します)。メタ文字タイプの入力は効果がありません(つまり、\=代わりに使用されます=)。

これの助けは非常に役に立ちます。

答え1

私はそれに慣れていないので、gitあなたがやろうとしていることをよく理解していません。特に、最初のコマンドにその単語がecho2回ありますが、変数に入れないのはなぜですか?しかし、私はあなたが次のことをしたいと思います:

Avineshwar_func() {
    子 --git-dir=「1」echo test-folder/.git/ Steps-to-follow.txt 追加 && git --git-dir=「2ドル」エコテストフォルダ/.git/commit
}

では、言うなら

Avineshwar_func foo バー

これは言うのと同じ

子 --git-dir=金持ちecho test-folder/.git/ Steps-to-follow.txt 追加 && git --git-dir=バーエコテストフォルダ/.git/commit

もちろん、名前をAvineshwar_func 好きなように変更できますgit1

デフォルトで機能する場合は、エラー処理を追加する必要があります。

子1(){
    if [ -d "$1" ] && [ -d "$2" ]
    それから
        git --git-dir="$1" echo test-folder/.git/ 追加手順-to-follow.txt && git --git-dir="$2" echo test-folder/.git/ commit
    その他
        echo "使用法: git1 dir1 dir2"
        1を返す
    フィリピン諸島
}

答え2

これは作業ソリューションこの目的のために(RHEL 7テスト):

$ export test1='git --git-dir'
$ export test2='my-folder/.git/ add Steps-to-follow.txt'
$ #; git --git-dir'
$ export test3='my-folder/.git/ commit'
$ export git1=$test1=$test2
$ export git2=$test1=$test3
$ $git1
$ $git2

これはうまくいきます。これが最善の解決策であるとは言えませんが、私に必要な方法で動作し、人々が必要な場合があります。 &&または;(1つの環境変数を使用して複数のコマンドをトリガーする場合)が期待どおりに機能しなかったため、次のように切り替えました。許容可能なソリューション現在。誰でも良いことを思い出したり、それに改善がある場合は、コメントを残してください。

関連情報