2014-12-12 3 views
0

최근에 쉘 스크립팅을 탐색하기 시작했습니다.단일 쉘 변수에 다중 행 할당

로컬 저장소에서 수정 된 파일을 확인하는 간단한 쉘 스크립트 (git 후크)를 작성했습니다. 쉘 스크립트가 올바르게 작동합니다.

내 스크립트

#/usr/bin/env bash 
git fetch && git log ORIG_HEAD..origin/master --pretty=format:"%s - %ar by %an %h" 

출력은

post-merge check 7 - 30 seconds ago by xyz f917898 
post-merge check 6 - 54 seconds ago by xyz 98399c8 

내 친구에게 내 쉘 스크립트의 출력을 우편으로 할 수 있습니다.

내가이

#/usr/bin/env bash 
changed_files = `git fetch && git log ORIG_HEAD..origin/master --pretty=format:"%s - %ar by %an %h"` 
echo "$changed_files" | mailx -s "changes made to local repo" [email protected] 

처럼 시도했지만 어떤 몸이 어떻게 이것을 달성하는 날을 제안 할 수 있습니다

.git/hooks/post-merge: 2: .git/hooks/post-merge: changed_files: not found 

에 저를 선도?

출력을 텍스트 파일에 쓰고이 파일을 첨부하고 메일을 보내면됩니다. 하지만 한 번에 보내는 것에 대해 궁금합니다. 하지 않는 (

changed_files = something 

changed_files 실행 파일을 실행하는 것을 의미합니다 :

changed_files=`git ... 

라인 bash에서 :

답변

3

= 주위에 그 공백을 없애 주셔서 감사합니다 이 경우에는 오류가 존재하므로) 두 개의 매개 변수 =something을 전달합니다.

관련 문제