다른 bash 스크립트에 정의된 변수 사용

다른 bash 스크립트에 정의된 변수 사용

.txt라는 파일에 UTF-8 그리스어 기호를 정의하는 bash 스크립트가 있습니다 greek-utfb.sh. greek-utfb-scout 파일에서 그리스 문자를 인쇄하는 데 사용되는 변수를 표시하는 테스트를 실행하고 싶습니다.

--- greek-utfb.sh ----

utfb-greek ()
{
  Alph="\u0391"   # Alpha
  Beta="\u0392"   # Beta
  Gamm="\u0393"   # Gamma
  Delt="\u0394"   # Delta
  Epsi="\u0395"   # Epsilon
}

--- greek-utfb-scout.sh ---

greek-utf-scout ()
{
  echo -e "Alph: $Alph"
  echo -e "Beta: $Beta"
  echo -e "Gamm: $Gamm"
  echo -e "Delt: $Delt"
  echo -e "Epsi: $Epsi"
}

greek-utfb-scout.sh그리스 변수 를 greek-utfb.sh.

답변1

첫째, 함수 안에 변수 정의를 넣지 마세요. 대신 greek-utfb.sh다음과 같이 변경하세요.

#!/bin/sh
Alph="\u0391"   # Alpha
Beta="\u0392"   # Beta
Gamm="\u0393"   # Gamma
Delt="\u0394"   # Delta
Epsi="\u0395"   # Epsilon

이제 이 파일을 소스로 사용하세요 greek-utfb-scout.sh.

#!/bin/sh

. greek-utfb.sh

greek-utf-scout ()
{
  echo -e "Alph: $Alph"
  echo -e "Beta: $Beta"
  echo -e "Gamm: $Gamm"
  echo -e "Delt: $Delt"
  echo -e "Epsi: $Epsi"
}

을 실행한 후 . greek-utfb-scout.sh이제 함수가 예상대로 작동합니다.

$ . greek-utfb-scout.sh
$ greek-utf-scout
Alph: Α
Beta: Β
Gamm: Γ
Delt: Δ
Epsi: Ε

관련 정보