Study/etc

[Linux] 쉘 스크립트/터미널의 변수 설정

black6765 2022. 11. 18. 20:39

명령어의 결과를 변수에 설정

  • 크게 두 가지 방법이 있음
    1. JAVA_HOME=pwd``
      • 주의 사항은 작은 따옴표(’)’가 아닌 역따옴표(`, backquote) 기호라는 것임
    2. JAVA_HOME=$(pwd)

변수 사용 시 작은 따옴표와 큰 따옴표

  • string = “Hello world!”
    1. echo ‘$string’
      • 문자 그대로인 $string이 출력됨
    2. echo “$string”
      • Hello world!가 출력됨

환경 변수 초기화

  • export PATH=$(getconf PATH)

쉘 스크립트 사용

  • 쉘 스크립트 파일 생성 후
    • 쉘 스크립트 파일의 상단에는 쉘을 명시해야 함
      • #!/bin/sh
        • 범용적으로 사용할 수 있는 sh로 지정하는 것이 좋음
    • Setup JDK Version
      • jdk6dir='/usr/local/jdk1.6.0_45'
      • jdk8dir='/usr/local/jdk1.8.0_311’
    • alias를 이용한 쉘 스크립트 설정 예시
      • alias j6='JAVA_HOME=${jdk6dir}; export JAVA_HOME; export PATH=$JAVA_HOME/bin:$PATH; export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH;’
      • alias j8='JAVA_HOME=${jdk8dir}; export JAVA_HOME; export PATH=$JAVA_HOME/bin:$PATH; export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH;’
    • 마지막 명령어(export PATH= ~ :$PATH)에서 $PATH가 앞에 붙지 않고 뒤에 붙어야 j6 입력 후 j8 입력 했을 때 바뀐 자바 버전이 적용됨. $PATH가 앞에 붙으면 처음 설정한 버전에서 변경되지 않음
  • ~/.bashrc 파일에 여러 용도의 쉘 스크립트를 적용하면 파일이 복잡해질 수 있으므로, 각각의 파일을 만들고(ex. bashconf1) ~/.bashrc에 source bashconf1과 같은 명령어를 두어 해당 쉘 스크립트를 터미널 실행 시 적용할 수 있도록 하는 방법이 사용될 수 있음