이 명령에 대한 환경 변수를 만들고 싶습니다.
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이 확장 시 원하는 방식으로 전달하지 않는 것 같습니다(일부 표준 준수로 인해).
아직 실제로 사용해본 적은 없지만
export equal==
가지고 있습니다(작동시키려고 무작위로 시도하고 있습니다).명령을 파이핑해 보았지만 그건 어리석은 일이고 작동하지 않아야 합니다.
문제는
=
환경 변수의 기호에 있다고 생각합니다(아마도 다른 할당을 시작한다고 가정할 것입니다). 메타 문자 유형 입력은 효과가 없습니다(즉,\=
대신 사용됨=
).
이에 대한 도움이 매우 도움이 될 것입니다.
답변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
이것은 작동합니다. 이것이 최선의 해결책이라고 말할 수는 없지만, 나에게 필요한 방식으로 작동하고 사람들이 필요할 수도 있습니다. &&또는;(하나의 환경 변수를 사용하여 여러 명령을 트리거하는 경우)가 예상한 대로 작동하지 않아서 다음으로 전환했습니다.수용 가능한 솔루션현재. 누구든지 더 나은 것을 생각해내거나 이에 대한 개선 사항이 있으면 의견을 남겨주세요.