'linux'에 해당되는 글 2건

  1. 2015.11.14 Bash - Associative container 이용
  2. 2015.10.11 a2ps - Source code 예쁘게 인쇄
Linux2015. 11. 14. 16:22

문제:

Bash script에서 (C++의 map과 비슷한) associative container를 이용하는 방법.

 

 

단계 1:

Associative container 변수 선언: 

declare -A cycles

  • -A 이용.
  • cycles는 예시로 쓰인 변수 이름.

 

 

단계 2:

Element들을 insert (cycles[key] = value): 

cycles[barnes]=504783668

cycles[blacksholes]=27964256

 

 

단계 3:

Element access:

echo ${cycles[barnes]}

  • ${cycles[key]}
  • 또한 key 자리에 "key"가 들어가도 됨.
  • 위의 echo 결과는 물론:
    • 504783668

 

 

추가 내용:

여러 key-value들을 한 번에 넣을 때:

declare -A cycles=([barnes]=504783668 \

                   [blackscholes]=27964256 \

                   [bodytrack]=371969846)

 

여러 key-value들을 추가로 넣을 때 (+= 이용):

cycles+=([bodytrack]=371969846 \

         [cholesky]=213506158)

 

참고로, bash에서 array는 (elem0 elem1 ..) 임.

  • Element들 사이에 comma (,)가 없음에 주의.
  • Associative array에서 (())를 이용하는 것은 아마도 array에서 따온 것이 아닐까?

 

 

참고 문헌:

'Linux' 카테고리의 다른 글

fsck - Root partition에 fsck 하기  (0) 2015.12.18
a2ps - Source code 예쁘게 인쇄  (0) 2015.10.11
Posted by topazus
Linux2015. 10. 11. 12:35

문제:

다음 source code를 예쁘게 인쇄.

main.cpp

 

 

단계 1:

a2ps를 이용하여 source code로 부터 PDF를 만든다. 

 

a2ps -Ppdf -M[출력 종이 크기] -E[프로그래밍 언어] [source code file 이름]

 

예를 들어, C++ source code file을 PDF로 변환하려면 (A4 종이에 출력):

 

 

 

결과물: 

main.pdf

 

 

 

해설:

Linux program 중, a2ps를 이용함.

Options:

  • -Ppdf
    • 인쇄를 PDF 형식으로 함.
  • -Ma4
    • A4 용지에 인쇄 (기본은 letter).
  • -Ecxx
    • C++ 형식으로 인쇄.
    • '-Ec++'나 '-Ecpp'가 아님에 주의!

 

 

지원하는 프로그래밍 언어:

다음 명령으로 지원하는 프로그래밍 언어의 목록을 볼 수 있음.

 

a2ps --list=style-sheets

 

그 결과는 (너무 길어서 file로 첨부):

a2ps_style_sheets.txt

 

간단히 정리된 목록을 보려면 이 웹사이트를 참고.

 

 

시연:

 

 

 

'Linux' 카테고리의 다른 글

fsck - Root partition에 fsck 하기  (0) 2015.12.18
Bash - Associative container 이용  (0) 2015.11.14
Posted by topazus