우분투에 오라클 Java 실행환경을 구성하는 쉘스크립트다. 설치할 root 권한으로 한 번만 실행하면 되고, 주안점은 update-alternatives로 선택하는 것에 있다. galternative를 통하면 GUI로 우선순위까지 정할 수 있다. 그저 설치만 대충대충 하는 것이며 좀더 다듬을 필요가 있다. #!/bin/sh ## Oracle Java Install Shell Script 0.1 ## Author: Yubin Lim ( purewell@purewell.biz ) ## Date: 2011-10-14 ## Java installations mkdir /usr/java > /dev/null 2>&1 cd /usr/java rm -rf tmp mkdir tmp > /dev/null 2>&1 cd tmp echo "Downloading..." wget -qO i586.bin "http://javadl.sun.com/webapps/download/AutoDL?BundleId=52240" wget -qO x64.bin "http://javadl.sun.com/webapps/download/AutoDL?BundleId=52242" echo "Extracting..." echo "A" | sh x64.bin echo "A" | sh i586.bin mv jre1.6.0_* ../ cd .. ln -s jre1.6.0_* jre rm -rf tmp ## Alternative register # java update-alternatives --install /usr/bin/java java /usr/java/jre/bin/java 10 # jcontrol update-alternatives --install /usr/bin/jcontrol jcontrol /usr/java/jre/bin/jcontr
Bash에서 Array, Map에 대한 정리. (매번 찾기 귀찮) 찾아보진 않았지만, Bash에서 Array든 Map이든 동일하게 Map(C++에서 Unordered Map)으로 동작하는 것 같다. 왜냐하면, Array의 Index가 연속하지 않아도 동작한다. 그저 Key가 0 이상의 정수인 Map이랑 비슷하게 동작한다. 예) 1, 2, 3, 9, 10 Array # 생성 declare -a empty_array declare -a ar=(haha hoho baba "long string haha hoho") # 접근 echo "ar[0]=${ar[0]}" echo "all as array=${ar[@]}" # 큰따옴표 안에서 각 원소를 따로따로 전달한다. echo "all as one=${ar[*]}" # 큰따옴표 안에서 각 원소를 문자열 하나로 합쳐 전달한다. echo "indexes=${!ar[@]}" echo "indexes=${!ar[*]}" echo "length=${#ar[@]}" echo "length=${#ar[*]}" echo "last=${ar[-1]}" echo "last=${ar[@]: -1}" # 콜론 뒤에 빈 칸이 꼭 필요하다. 옛 방식 # 현재 상황 declare -p ar #(출력) declare -a ar=([0]="haha" [1]="hoho" [2]="baba" [3]="long string haha hoho") ar[100]=hello # 인덱스를 건너 뛰어도 동작한다. declare -p ar #(출력) declare -a ar=([0]="haha" [1]="hoho" [2]="baba" [3]=&