728x90 프로그래밍 언어73 [Shellscript] 정수 및 실수 연산 기본적으로 Shell script에서 정수 및 실수 연산을 처리하는 방법은 아래와 같다. 1) 정수 연산: 대괄호 사용, expr, bc, awk 2) 실수 연산: expr, bc, awk 1. expr ▪ syntax: expr ▪ 예시 $ result=$( expr 1+2 ) $ echo $result 3 2. 대괄호 사용 ▪ Bash에서는 변수에 계산 결과를 할당할 때, 달러 기호와 대괄호 기호를 사용하여 수식을 묶을 수 있다. ▪ 장점: expr보다 더 쉽게 수식을 사용할 수 있음 ▪ 단점: 정수 연산만 가능 ▪ ex) 1 + 5를 계산한 결과를 val1에 할당 후, val1에 2를 곱한 값을 val2에 할당 $ var1=$[1 + 5] $ echo $var1 6 $ var2=$[$var1*2] .. 2021. 4. 20. [Shellscript] 쉘, 쉘 스크립트 및 쉘 변수 (BASH) 1. 쉘(Shell)이란? 사용자의 명령을 해석해서 커널에게 전달하고 커널의 실행결과를 사용자에게 나타내주어 컴퓨터의 OS와 사용자를 중재해주는 역할을 하는 프로그램 • "명령어 해석기" 또는 "사용자 인터페이스"라고 부르기도 함 • 쉘 (Shell) 자체는 운영체제가 아니다. • 리눅스의 기본 쉘은 BASH (Bourne Again SHell)이며, 본 쉘을 개발한 Steven Bourne의 이름을 기리며 붙여졌다. • 리눅스 시스템에서 지원하는 쉘의 목록 확인: /etc/shells 1) 쉘의 역사 • 1971년: 켄 톰프슨이 최초 버전의 유닉스에 도입된 유닉스 쉘 (Thompson Shell)을 개발 • 1977년: AT&T 벨 연구소의 스티븐 본이 본 쉘 (Bourne Shell, sh)를 개발함.. 2021. 4. 20. [CUDA] CudaDeviceProp 정리 Cuda의 디바이스의 속성 Nvidia 그래픽 카드의 정보를 CUDA runtime의 cudaDeviceProp란 구조체를 반환함으로써 알 수 있다. CudaDeivceProp는 아래와 같은 속성을 가진다. 디바이스 속성 설명 char name[256] 디바이스를 식별해주는 아스크 문자열 (ex: GeForce GTX 280") size_t totalGlobalMem 바이트 단위의 디바이스 전역 메모리의 양 size_t sharedMemPerBlock 블록 당 이용할 수 있는 공유 메모리의 최대 양 (바이트 단위) int regsPerBlock 블록 당 이용할 수 있는 32비트 레지스트의 갯수 int wrapSize 하나의 워프가 갖는 스레드의 수 size_t memPitch 메모리 복사 시 허용되는 피.. 2021. 4. 5. [HTML/CSS] <a> 태그로 페이지 내부 이동 목차 클릭 시 해당 라인으로 이동하는 HTML 작성 방법 - "내부 링크"를 이용: 태그 사용 1. 태크란? - "Anchor"의 약자 - 특정 사이트의 이동 (하이퍼 링크)이나 동일 페이지 내의 특정 위치로 이동(앵커)하게 하는 역활을 한다. (링크 기능) - 링크의 타깃이 되는 역활을 함. 1) 태그 syntax "string" 필수 속성으로써, href와 name이 필요하다. • herf : Hyperlink Reference (연결 고리 참조) • herf 이후에 오는 "#where"는 "string"을 클릭 시 이동하는 목적지를 나타낸다. - 반드시 #을 붙여주어야 한다. • name: 해당 태그의 이름으로써 다른 링커의 목적지의 역활을 한다. • name 대신에 "id" 를 사용해도 되며 두 .. 2021. 3. 29. [Python] 리스트 내에 element가 있는지 확인 Python 내에서 간단한 명령어를 통해서 List 내의 원소의 존재 유무를 확인하는 방법은 아래와 같이 2가지 방법이 있다. (1) "in" command를 사용하는 것 (2) count() 함수를 사용하는 것 1. in 1) Syntex: elem in LIST - 만약 LIST 내에 elem이 존재한다면, True를 반환한다. 그렇지 않을 경우 False를 반환한다. - 만약 LIST 내에 elem이 없는 것을 확인하고자 한다면, not을 다음과 같이 써준다: elem not in LIST - "in"을 사용하는 경우, 굉장히 큰 리스트에서는 다른 방법과 비교할 때, 매우 느리다고 한다 [2] 2) example: LIST = ["Korea", "Japan", "China"] if "Korea" i.. 2021. 3. 22. [Mathematica] Linux terminal에서 프로그램 실행 일반적으로 Mathematica는 윈도우에서 사용할 경우 frontend 환경인 Mathematica Notebook으로 작업을 한다. 하지만, 계산량이 큰 작업의 경우 혹은 원격으로 작업을 하는 경우라면 Mathematica notebook으로 계산을 하는 것이 아닌, C/C++과 같이 terminal background에서 계산이 진행되길 원한다. 다행스럽게, Mathematica에서도 terminal에서 작업을 할 수 있다. 기본적으로 terminal에서 작업을 하는 경우, terminal의 명령어는 "math"이다. 리눅스 terminal에서 math를 입력하면 아래와 같이 Mathematica Kernel이 실행된다. 이러한 Mathematica Kernel 작업환경은 python과 동일하다고 .. 2021. 3. 18. [Mathematica] LLVM ERROR: Cannot select: intrinsic %llvm.x86.sse41.pblendvb 리눅스 내에서 메스메티카로 그래픽 관련 작업을 하는 중에 위와 같은 에러가 발생되면서 프로그램이 종료가 되었다. 정확히 문제가 발생한 이유가 무엇인지는 잘 모르겠지만, 아래의 필요한 패키지들을 설치함으로써 문제를 해결하였다 [1]. libegl1-mesa libegl1-mesa-drivers libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles1-mesa libgles2-mesa libglu1-mesa libopenvg1-mesa libtxc-dxtn-s2tc0 libwayland-egl1-mesa mesa-utils mesa-utils-extra libva-drm1 만약 위의 파일들이 잘 설치가 되지 않는다면 [2] 레퍼런스를 참조하기 바람 Reference:.. 2021. 3. 6. [C 언어] 텍스트 파일의 총 개행 수 구하기 아래와 같이 grade.txt와 같은 텍스트 파일이 있다고 하자. 이때, 해당 파일의 총 개행 수를 구해보자. 파일: grade.txt 0001 Tommy 22 A 0002 Grace 25 B 0003 Landau 53 A 0004 Tim 19 A 0005 Einstien 66 D 0006 Newton 100 A 0007 Hawking 50 C 0008 Feynman 20 B 0009 Bohr 35 A 코드 #include #include int main(void){ int count_line = 0; char *f_name = "./grade.txt"; char tmp; FILE *open_file; open_file = fopen(f_name, "r"); while(fscanf(open_file, ".. 2021. 2. 6. [Bash/Shell script] 디렉토리 리스트 출력 1. ls 명령어를 이용하여 현재 작업 디렉토리의 리스트를 출력하고자 하는 경우 • command: ls -d */ - 반드시 "/"를 적어주어야 한다. 적어주지 않을 경우, 현재 디렉토리를 의미하는 "."만 출력된다. 2. ls 명령어를 이용하여 현재 작업 디렉토리의 하위 디렉토리 리스트를 출력하고자 하는 경우 • command: ls -d */*/ - 하위 디렉토리가 없는 경우, 출력되지 않는다. 2021. 2. 5. 이전 1 ··· 3 4 5 6 7 8 9 다음 728x90