LINUX

포스트: 487|아이템:LINUX(477)
Tags

Posts

487 posts

[bash: if] if 조건문에서 띄어쓰기에 유의

반달가면|2017년 7월 25일

별 것 아닌 기본적인 내용이긴 한데, 스크립트를 만들다가 의외로 실수하는 경우가 종종 있어서 잊지 말자는 의미에서 적어 두기로. if 조건문에서 비교 조건을 지정하기 위해 대괄호([])를 사용하게 되는데, 대괄호와 비교조건 사이에는 반드시 공백이 있어야 한다. 아래의 예시를 보자. str="abc" # 오류 발생! (띄어쓰기 오류) if [[$str="abc"]] then echo "ABC" fi [[abc=abc]]: command not found 대괄호와 조건이 붙을 경우 bash에서 대괄호와 조건이 붙은 전체 문구를 하나의 명령어로 해석하여 처리하려 하므로 오류가 발생하게 된다. 띄어쓰기를 제대로 해 주면 정상 동작한다. # 정상 동작 if [[ $str="ab

리눅스 민트에서 nVidia 그래픽 드라이버 설치

반달가면|2017년 7월 17일

최근에 리눅스 민트(Linux Mint)를 설치한 PC에서 3D 가속을 사용하기 위해 nVidia 그래픽 드라이버를 설치하게 되었다. 어쨌든 성공적으로 되긴 했는데 그 과정에서 좀 헤맸던 관계로 여기에 정리해 두기로. 가장 처음에 해 본 것은 리눅스 민트에 기본으로 제공되는 "드라이버 매니저(driver manager)"라는 프로그램이었는데, nVidia 드라이버를 선택해서 적용했는데 시간이 지나도 별 반응이 없길래 취소. 두번째로 nVidia 웹사이트에서 리눅스용 지포스(Geforce) 드라이버를 다운로드해서 설치를 시도했다. 그러나 안타깝게도 드라이버 설치 파일을 실행하면 대략 아래와 같은 오류 메세지와 함께 설치가 중단되었다. ERROR: You appear to be running a

리눅스에서 pdf 파일 분할하기

반달가면|2017년 7월 10일

얼마전에 좀 용량이 큰 pdf 파일을 여러개의 작은 pdf 파일로 분할해서 저장해야 하는 상황이 있었는데, 리눅스에서 깔끔하게 해결이 가능했다. 알고 보면 아무것도 아닌데, 그 당시에 당장 생각이 나지 않아서 고민을 좀 했었기에 여기에 적어 두기로. 우분투, 리눅스 민트 등 데스크탑 리눅스 배포판에 같이 들어 있는 문서 뷰어나 에디터에서 "인쇄" 메뉴로 가 보면 아주 요긴한 기능을 볼 수 있는데, 바로 "파일로 인쇄하기(print to file)"다. 파일 형식은 pdf, ps, svg 등을 지원한다. 분할하고 싶은 파일을 뷰어로 연 후에 인쇄 메뉴로 가서 인쇄할 페이지 범위와 파일명을 지정하고 pdf 파일로 저장하면 된다. 별도의 패키지를 설치할 필요도 없이 가뿐하게 해결되었다.

[bash: xargs] 공백이 포함된 출력 결과를 다음 명령어의 인자로 사용

반달가면|2017년 7월 3일

간단한 내용이지만 간혹 잊어버리고 있다가 오류가 발생하는 상황이 있어서 여기에 정리해 두기로. 우선 xargs 명령에 대한 기본적인 내용은 이전 게시물을 참고하자. 여기로 예를 들어 앞 명령어의 출력이 파일명인데 이것을 xargs 명령을 통해서 인자(argument)로 넘기고자 하는 상황을 생각해 보자. 확장자가 txt인 파일만 grep으로 추려낸 후 cat으로 내용을 확인하는 경우다. 통상 아래와 같이 입력하면 될 것이다. # 현재 디렉토리에 있는 txt 파일의 내용 확인 ls | grep "\.txt" | xargs cat 만약 위와 같이 입력했는데 txt 파일 중에 파일명에 공백이 포함된 것이 있다면 해당 파일에 대해서는 cat 명령이 제대로 실행되지 않고 오류 메세지가 나올 것