, 나는 형태의 커밋의 목록을사용 bash는 스크립트 명령에서 배열 데이터를 캡처
+ 95b117c39869a810595f1e169c64e728d2d7443d
+ e126f1b996ecf1d2a8cf744c74daa92cce338123
+ 869169a6cb0bbe8f1922838798580a1e74ec3884
+ 667819b617c88bd886dc2001f612b5c7a4d396c3
+ fd41328a84b0a127affa6fe4328c93e933de378c
+ cfe1807e5d4acc6b5e75f4463dadb3b1c957376f
좋은 소식입니다.
지금 떠들썩한 파티 스크립트 내에서이 명령을 실행하고 다음 코드를 사용하여 배열로 출력을 캡처 할:
commit_hashes=(`git cherry origin/Dev`)
echo ${commit_hashes[@]}
다음과 같은 출력 산출 :
+ 95b117c39869a810595f1e169c64e728d2d7443d + e126f1b996ecf1d2a8cf744c74daa92cce338123 + 869169a6cb0bbe8f1922838798580a1e74ec3884 + 667819b617c88bd886dc2001f612b5c7a4d396c3 + fd41328a84b0a127affa6fe432
8c93e933de378c + cfe1807e5d4acc6b5e75f4463dadb3b1c957376f
이것은이다 좋은 일이 아니다.
커밋 목록을 사용하기 전에 먼저 분해해야하는 문자열로 반환된다. 일부 검색 후에 데이터 캡쳐 전에 스크립트에 IFS=""
을 추가하면 문제가 해결된다는 것을 알았습니다.
그래서 나는이 완전히 현실의 감각을 종료 출력
+ 95b117c39869a810595f1e169c64e728d2d7443d
+ e126f1b996ecf1d2a8cf744c74daa92cce338123
+ 869169a6cb0bbe8f1922838798580a1e74ec3884
+ 667819b617c88bd886dc2001f612b5c7a4d396c3
+ fd41328a84b0a127affa6fe4328c93e933de378c
+ cfe1807e5d4acc6b5e75f4463dadb3b1c957376f
IFS=""
commit_hashes=(`git cherry origin/Dev`)
echo ${commit_hashes[@]}
를 읽어 내 코드를 편집했다.
내가하고있는 일이 왜하고 있는지 알고 싶습니다. 그래서 더 많은 검색을 한 후 이걸 Internal Field Separator
이라고 부르며 유닉스 시스템에서 명령 해석기로 패턴을 손상시킬 위치를 파악하는 데 사용됩니다 토큰.
본인은 알고 있습니다. 빈 문자열이 변수를 설정 그것은 제정신 방식으로 내 배열 데이터를 처리 할 수 왜 이해가 안 무엇
는
- 입니다.
- 처음에는 왜 그것을 설정해야했는지, 해석기 대신 배열 데이터를 처리하고 적절하게 처리해야했는지 확인해야합니다.
- 내부 필드 구분 기호를 빈 문자열로 설정하면 기본적으로 공백, 탭 및 개행 문자를 포함하므로 사물의 웅장한 구성이 적용됩니다.
이러한 세 가지 문제를 해결하기위한 몇 가지 도움을 주시면 감사하겠습니다.