사용자 생성 함수에서 견적 확장 방지

사용자 생성 함수에서 견적 확장 방지

다음과 같은 bash 기능이 있습니다.

tg() {
  git add -A && git commit -m $1 && git push
}

하지만 작동하지 않는 것 같습니다.

$ tg "create index for users"
error: pathspec 'index' did not match any file(s) known to git.
error: pathspec 'for' did not match any file(s) known to git.
error: pathspec 'users' did not match any file(s) known to git.

분명히 문제는 따옴표가 확장되고 중간 명령이 git commit -m create index for users다음과 같이 읽힌다는 것입니다.git commit -m "create index for users"

내가 뭘 잘못했나요? 이 문제를 어떻게 해결할 수 있나요?

답변1

큰따옴표 확장 $1:

tg() {
  git add -A &&
  git commit -m "$1" &&
  git push
}

따옴표 없이 두면 $1쉘은 해당 값(의 내용)을 공백으로 분할 $IFS하고 결과 단어는 추가로 파일 이름 글로빙이 됩니다.

관련된:

관련 정보