본문 바로가기

language/shell3

[makefile] :=, =, += 차이 최근에 다른 code들을 보며 skill up을 하고 있는데 우연찮게 nvidia code를 보다보니 아래와 같은 구문이 있어 글을 남깁니다 makefile을 사용할 경우 변수 선언을 위해 = 를 사용하게 됩니다 이때 변수가 여러번 사용되면서 변경이 된다고 한다면 = 을 사용하면 다른 결과가 나오는데 code를 아래와 같이 작성을 하게 되면 결과가 어떻게 나올까요?? 우리가 원한건 A, B가 차례대로 호출이 되어야 할 것 같지만, 실제 결과는 이렇게 B가 두번 호출이 됩니다. 그 이유는 make file안에서는 = 는 최종적으로 실행하는 단계(run을 돌리는)에서 마지막으로 할당된 변수를 가져오게 됩니다. 따라서 위의 구문의 T=A는 실제론 필요없는 구문이 된 것입니다. 이를 막기위해선 :=를 사용하는데.. 2021. 4. 23.
[쉘 스크립트] for문 활용하기 쉘 스크립트로 여러개의 task를 실행한다거나 입력받은 파일 리스트를 출력할 때 for문을 사용할 수 있습니다 오늘은 for문을 사용하는 방식에 대해서 정리합니다 1. for 문 작성법 for 변수 in [범위](리스트, 배열, 묶음) do 명령어 done 범위에는 리스트, 배열, 묶음등 여러가지 방식으로 표현이 가능하며, 변수는 범위에 표현된 리스트의 순서대로 명령어를 수행 합니다 2. 작성 예시 아래와 같은 결과를 출력하는 방식은 다양하게 있습니다 ▷ 기본 문법 ▷ list 이용 ▷ 배열 이용 ▷ 숫자 범위 이용 ▷ c 언어 문법처럼 사용 괄호 개수에 주의해야 합니다 ▷ 간격을 두고 증가 ▷ 간격을 두고 감소 ▷ 파일 리스트 출력 ▷ 인자 입력 그리고 예전에 정리했었던거 같은데 다시 한번 정리합니다 .. 2021. 1. 28.
[쉘 스크립트] 문자열 자르기 shell script에서 사용되는 모든 변수는 그냥 할당하면 default로 문자열로 인식됩니다 변수로 지정된 문자열을 자르거나 인덱스로 접근하여 사용하는 법을 정리하려 합니다 1. cut 명령어 사용 cut 명렁어는 입력받은 data 문자, 바이트, 구분자등을 기준으로 나눌 때 사용한다 ,으로 구분해서 첫번째 필드 출력 cut -f 1 -d ',' 파일명 첫번째부터 4번째 문자 출력 cut -c 1-4 파일명 2. index 사용 python에서 list 접근하듯이 0을 시작으로 하면되고 아래와 같은 규칙을 가진다 맨 뒤의 위치는 음수로 할 경우 -1이다.(음수로 할 경우 띄어쓰기 필수) 처음부터 끝까지 ${변수명} 시작지점부터 끝까지 ${변수명:시작지점} 시작지점부터 4개 ${변수명:시작지점:4} .. 2021. 1. 26.