- shell script를 사용해서 copyright 문구를 자동으로 생성하기2024년 12월 23일
- alpha brain
- 작성자
- 2024.12.23.:49
728x90반응형회사마다 다르겠지만 소스코드에 대한 copyright를 기입하는 경우가 있다.
copyright에 대한 설명은 여기를 참고하면 좋을것 같다.
결론만 보면, 소스 코드의 저작권은 코드 작성자(혹은 회사)에게 법적 권리를 부여하며, 이 권리는 타인이 그 코드를 사용할 때 반드시 라이선스 조건을 준수하거나 저작권자의 허가를 받아야 함을 의미한다.
보통 소스파일 상단에 기입을하게 되는데,
/* Copyright (C) 1883 Thomas Edison - All Rights Reserved * You may use, distribute and modify this code under the * terms of the XYZ license, which unfortunately won't be * written for another century. * * You should have received a copy of the XYZ license with * this file. If not, please write to: , or visit : */
이와 같은식으로 기입을 하게 된다.
이게 조금 성가신작업인데, 매번 소스파일 만들때마다 복붙을 해야한다는 말이다. 특히 프로젝트의 규모가 커지면 일일히 적는것도 한계가 있다. 이때 리눅스 명령어를 이용해서 파일 상단에 해당 문구를 자동으로 넣어주는 script를 만들면 귀찮을 일이 사라진다.
project 폴더에 shell script 파일을 한개 만들고...~/project/path $ touch > copyright.sh
파일을 열어 아래 코드를 붙여넣자.
vim ./copyright.sh
#!/bin/bash TARGET_DIR="./" # 검색할 기본 디렉토리 EXTENSION="tsx" # 찾을 파일 확장자 COPY_RIGHT="/* Copyright (C) 1883 Thomas Edison - All Rights Reserved * You may use, distribute and modify this code under the * terms of the XYZ license, which unfortunately won't be * written for another century. * * You should have received a copy of the XYZ license with * this file. If not, please write to: , or visit : */" find "$TARGET_DIR" -type f -name "\*.$EXTENSION" | while read -r file; do if ! head -n 5 "$file" | grep -q "Copyright"; then echo "$COPY_RIGHT" | cat - "$file" > temp && mv temp "$file" fi done
6줄 정도 되는 아주 간단한 script이다.
find를 이용해서 copyright를 적용할 file을 찾고, 현재디렉토리 부터 순회하면서 copyright 문구가 없으면 추가해준다.
프로젝트 최상단에 넣고 스크립트 돌리면 tsx확장자가 붙은 파일은 상단에 모두 copyright 문구가 생기게 된다.728x90반응형'SOFTWARE DEVELOP > Linux' 카테고리의 다른 글
[Linux] 파일 관리와 폴더 관리 명령어 (0) 2020.01.20 [Linux] what is Linux? why use Linux? (0) 2020.01.14 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)