Tag: bash

Linux Shell : 여러 명령의 결과를 한 곳으로 보내려면(Redirection)?

몇 가지 명령의 결과를 한 곳(텍스트 파일등)으로 합쳐서 보내려면? 예를 들어, 현재 시각과 함께 특정 명령의 결과를 파일에 기록하고 싶다면?tee 명령을 쓰면 되지 않을까 했지만, 그건 용도가 반대다. tee 는 결과를 두 군데로 보내는 명령이라 지금 상황에 쓸 수는 없다. 짧은 검색 결과, 답을 찾았다. {} 또는 () 로 묶으면 된다. 이런 식으로! 스내퍼가 잘

Linux Shell : 공백과 와일드카드 사용

이런 단순한 명령이 오류를 발생시켰다. 틀림없이 abc def 디렉토리 안에는 a 로 시작하는 파일이 있는데도! 이유는 한가지, 바로 와일드 카드 때문.와일드 카드가 따옴표 안에 들어가 있기 때문에, 말 그대로 a* 라는 파일을 찾으라는 명령이 되어 버렸다. 즉, 와일드 카드가 와일드 카드가 아니게 된 상황. 이를 위해선, * 를 따옴표 밖으로 빼줘야 한다. 간단하지만, 모르면 짜증나고

Standard Output, Standard Input, Redirection, Pipelines… 복잡한 것들 한 곳에 정리.

2016년 4월 17일에 이글루스에 썼던 글을 옮겨왔다.살짝, 한 군데(&>)만 고쳤다. 부제 : stdout, stderr 를 모두 Redirection. 이 글 내내, 그리고 리눅스(유닉스)를 쓰는 동안 반드시 기억해야 할 것은, 모든 것은 파일로 이뤄져있다.(Everything is a file) 라는 개념이다. 파일은 당연히 파일이고, 디렉토리도 파일이며, 심지어 하드디스크도, 마우스도 모두 파일이다. 잊지 말자. ** 이 글에 나오는 ‘전문적’인 내용은

Bash/Zsh : 변수 사용, 기초 개념.

그간 대충 사용해오고 있었으나, 개념을 명확히 설명해준 글을 발견하여 기록해둔다. Opensource.com : Using variables in Bash 몇가지만 정리해보자면.. declare 의 의미/역할 예전부터 궁금했었다. declare 가 뭔지.어떤 경우 이게 써 있을 때도 있고, 아닐 때도 있었는데..오늘, 확실히 알게 됐다. 위 글에 언급된 바로는, 원래는 변수 선언에 필요한 문법이었지만, 굳이 쓰지 않아도 그냥 인식된다고 한다. 다만, 이게

Bash/Zsh: 첫번째/마지막 인수 제외 후 처리.

제목을 좀 애매하게 달았지만, 이건 Shell 의 String Operations(The Linux Command Line p402)에 대한 내용이다. 예를 들어, 이런 문장에서, 5번째 글자부터 출력하고 싶다면? 문법은 이렇다. 위 상황에 적용해보면 다음과 같다. length 를 넣어보자면, 5부터 시작해서, 3글자만큼만 출력이 이뤄졌다. 만약, 5부터 시작해서, 끝에서 4번째까지만 뽑아내고 싶다면???상황이 좀 복잡해진다. 먼저, 총 글자수를 알아내야 한다. 이 경우, #

Process Substitution(Subshell)

이 전 글에선 Here Decuments 에 관한 내용을 정리했다.여기선 비슷한 개념의 Redirection 인, Process Substitution 에 대해 적어본다.지난 글과 마찬가지로, 간단한 정리는 아래, ‘내 나름대로 정리’를 참고하라. 내가 정리한 모든 내용에 대해서, 다음 글에서 아주 간단하고 명료한 설명을 볼 수 있다. Stack Exchange : pipe and stdin redirection to cat 문자열 abcd 를 cat 으로

Here Documents / Inline Input Redirection AND Here String.

Python 에서도 이 문구를 봤고, Bash 에서도 그랬다.그러나, 정작 이해를 하진 못했었다.책의 설명도 부족했고, 혼자서, 읽기만해서 이해하기(讀解)엔 어려움이 있었다. 그걸, 오늘 드디어 이 난관을 극복했다. 시작점은 mp3/flac 의 tag 을 CLI 로 처리하려는 의도였었는데, 하나씩 걸려넘어지다보니 여기에까지 이르게 되었다.이 글을 시작으로, 그 돌뿌리 들을 걷어내는 작업을 기록할 예정이다. Here Document. 사실, 단어 뜻 그대로다. 이

bash/zsh 호환 문제: 스크립트 작성 시 주의점

bash 로 작성한 스크립트를 zsh 로 돌리려고 하니 문제가 생겼다.사실 이게 우분투/리눅스에선 큰 문제가 되지 않는다. 대부분 배포판엔 bash 가 설치되어 있으니, hashbang 만 정확하게 명시해주면 login shell 이 zsh 라도, 스크립트는 알아서 bash (또는 hashbang 에서 지정한 방식)로 돌아갈테니, 큰 문제가 되진 않는다. 사실 이 문제의 발단은 macOS bash 였다. macOS 는, 모종의 이유(?)로

꽃삽질 : fcitx 와 zsh. 문제의 시작과 끝.

남들이 가지 않는 길을 가려고 한다면, 이런 일은 각오를 해야만 하는데도 불구하고, 아직도 익숙해지질 않는다. 아아아.. zsh 를 설치하고, chsh 명령을 사용하여 기본으로 만들었다. 그동안은 nimf 를 사용했기 때문에, 지금부터 적어내려갈 문제를 인지하지 못하고 있었다.문제는 다음과 같다. zsh 가 기본값(Default Shell)일 경우, fcitx 가 제대로 작동하지 않을 가능성이 있다. 이 문제는 im-config 와 밀접한 연관이 있다.이 사실을