linux (5) 썸네일형 리스트형 [linux] vi로 파일을 열었는데 @@@@@@만 뜨는 문제 정말 별거 아니고 간단한 문제였지만, 예상치 못해서 긴 시간 헤맸었고, 누군가에게 (미래의 나에게) 도움이 될까 싶어 기록한다 증상 윈도우 환경에서 wsl를 통해 vi로 파일을 열었더니 @@@@@@@@@@@@만 뜨는 증상이었다. 결론 결론만 말하면 dropbox에서 온라인 전용으로 설정한 파일에 접근했을 때 발생한 에러였다. mac이나 linux와는 달리 윈도우 서브시스템이기 때문에 dropbox에서 파일을 다운로드 하지 못하고 빈 파일을 읽은 것으로 보인다. [bash] IFS란 대다수의 Programming Languages 에서 편하게 반복문을 제공할 수 있도록 Array 를 제공한다 셸 스크립트를 짤 때에도 여러 항목에 대해 반복문을 돌릴 때가 많이 있다 예를들어 특정 디렉토리에 a, b, c, d, e 라는 5개의 파일이 존재한다고 가정하면 ls 명령어는 다음 결과를 반환한다 a b c d e 이는 단순히 "a b c d e" 라는 문자열이다 일반적인 상식으로 이 5개의 알파벳에 대해 반복문을 사용하고 싶으면 space(" ")를 기반으로 split하여 배열 로 만든 후 순회하며 사용하게 될 것이다. 하지만 셸 스크립트에서 그러한 배열화 작업 없이 간편하게 array처럼 사용할 수 있다. 가령 다음과 같은 작업이 가능하다 for f in $(ls); do readlink .. [shell script] getopts - 스크립트 옵션 처리 명령어에는 옵션을 같이 입력받는 경우가 대부분이다 옵션은 보통 POSIX에 명시된 형식에 따라 지정하게 되는데 형식은 다음과 같다 $ cmd -a arg1 -bc arg2 --param-x 사용자는 이 옵션들을 셸 기본 변수인 $@, $*, $1... 등을 통해 받아서 파싱하여 각 옵션에 대응할 수 있도록 처리를 해 주게 된다 문제는 이 때 처리해 주어야 할 경우의 수가 상당히 많다는 것이다 예를들어 -bc 처럼 둘 이상의 옵션을 붙여서 사용하는 경우도 있고 옵션값이 붙는 경우도, 아닌 경우도 있고 --param와 같은 long 옵션도 있으며, 그 뒤에 -값이 올 때도 있다 (이 때는 옵션이 아니다) 다행히도 getopts라는 유닉스 내장 스크립트가 이러한 파싱을 대신 해준다 참고로 c의 라이브러리인 g.. Vundle 사용 과정 요약 vi에서 사용하는 각종 플러그인들을 사용하기 위해 Vundle을 사용하게 된다 그 과정을 간단히 정리하고자 한다 작업은 홈 폴더에서 진행한다 vim 설치 보통 기본으로 vim이 설치되어 있겠지만, 그래도 설치해 준다 - 데비안 $ sudo apt install vim - 레드헷 $ sudo yum install vim Vundle 내려받기 $ git clone https://github.com/VundleVim/Vundle.vim.git git이 없으면 설치해 주자 내려받은 Vundle 적절히 위치시키기 $ mkdir -p .vim/bundle $ mv Vundle.vim .vim/bundle ~/.vim/bundle은 vim 플러그인을 관리하기 위한 곳이다 .vimrc 작성 & 적용 .vimrc가 없다.. vi와 vim (Vundle 사용 관련) 이 게시글은 Vundle 설치중 발생한 문제애 대하여 의문이 생겨 작성하게 되었다 문제 발생 과정은 다음과 같았다 Vundle을 설치하여 ~/.vim/bundle 내부에 넣어 주어서 vi를 통해서 사용하려고 하는데 Vundle을 인식하지 못했다 결론부터 말하면 vim을 추가로 설치하여 문제가 해결되었다 여기서 드는 의문점은, 그럼 기본적으로 설치되어 있는 vim과, 패키지 관리자를 통하여 설치하는 vim은 다른 것인가 하는 것이었다 상용 리눅스 버전에는 보통 기본으로 vi가 아닌 vim이 설치되어 있다 vi를 실행해도 VIM - Vi IMproved가 실행된다 심지어 버전조차 똑같다! 따라서 vim을 설치했을 때 무언가 추가로 설정되는게 아닌가 하고 추측해 보았다 다음은 vim을 실행했을 때의 로그 정보.. 이전 1 다음