나는 가지고있다
git () { [ $1 = commit ] && command git commit -v "${@:2}" || command git "$@"; }
git commit
has를 -v
기본값으로 만들고 , 그렇지 않으면 인수를 전달하고 git
명령이 수행하는 모든 작업을 수행합니다.
그런데 이게 좀 단축될 수도 있을 것 같은데요?
참고로 저는 파일을 간소화하는 중입니다 .bashrc
. 지금까지는 28줄로 줄었습니다(대부분 여전히 읽을 수 있음).
답변1
command git
다음 부분을 반복하지 않고 수행하는 방법은 다음과 같습니다 .
git () {
if [ "$1" = commit ]; then set commit -v "${@:2}"; fi
command git "$@"
}
큰따옴표가 없는 내용 은 $1
사용하면 안 됩니다. 변수 대체를 생략해야 하는 이유를 모르는 경우에는 항상 큰따옴표를 사용하십시오.
&&
및를 ||
단축키로 사용하지 마세요 . 귀엽고 일부 캐릭터를 저장할 수도 있지만 캐릭터를 저장하는 데는 의미가 없습니다. 가독성이 중요하며 if
코드의 의도를 보다 명확하게 보여줍니다.
다음과 같이 git 구성에서 별칭을 정의할 수 있습니다(그러나 이 방법으로 기존 명령을 숨길 수는 없으므로 다른 이름을 사용해야 합니다) ~/.gitconfig
.
[alias]
co = commit -v