등호 및 && 연산자가 있는 환경 변수

등호 및 && 연산자가 있는 환경 변수

이 명령에 대한 환경 변수를 만들고 싶습니다.

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'

이 모든 변수를 사용하여 하나씩 시도 했지만 $variable-name쉘 blob이 확장 시 원하는 방식으로 전달하지 않는 것 같습니다(일부 표준 준수로 인해).

  1. 아직 실제로 사용해본 적은 없지만 export equal==가지고 있습니다(작동시키려고 무작위로 시도하고 있습니다).

  2. 명령을 파이핑해 보았지만 그건 어리석은 일이고 작동하지 않아야 합니다.

  3. 문제는 =환경 변수의 기호에 있다고 생각합니다(아마도 다른 할당을 시작한다고 가정할 것입니다). 메타 문자 유형 입력은 효과가 없습니다(즉, \=대신 사용됨 =).

이에 대한 도움이 매우 도움이 될 것입니다.

답변1

나는 그것에 익숙하지 않아서 git당신이하려는 일을 잘 이해하지 못합니다. 특히 첫 번째 명령에 해당 단어가 echo두 번 있는데 변수에 넣지 않는 이유는 무엇입니까? 하지만 나는 당신이 다음과 같은 일을하고 싶어한다고 생각합니다 :

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

이것은 작동합니다. 이것이 최선의 해결책이라고 말할 수는 없지만, 나에게 필요한 방식으로 작동하고 사람들이 필요할 수도 있습니다. &&또는;(하나의 환경 변수를 사용하여 여러 명령을 트리거하는 경우)가 예상한 대로 작동하지 않아서 다음으로 전환했습니다.수용 가능한 솔루션현재. 누구든지 더 나은 것을 생각해내거나 이에 대한 개선 사항이 있으면 의견을 남겨주세요.

관련 정보