Shell script 현재 path 변수로 저장하기 / Script 실행결과 변수로 저장하기
Shell script 현재 path 변수로 저장하기 / Script 실행결과 변수로 저장하기
Shell script 를 사용하다 보면 현재 경로를 저장하여 사용해야할 경우가 종종 발생합니다.
이때 현재 경로를 표시하는 방법은 $ pwd 라는 명령어인데 이를 변수에 저장하여 사용하면 됩니다.
저장 방법은 아래와 같이 shell command 를 () 괄호로 싸서 넣는 것 입니다.
path_save.sh
PATH_NAME=$(pwd)
echo $PATH_NAME
실행 결과는 아래와 같습니다.
$ path_save.sh
/home/tester/current_path/
다른 예로 현재 폴더 size 를 변수에 넣을 수도 있습니다.
path_save.sh
PATH_NAME=$(ls)
echo $PATH_NAME
$ path_save.sh
file1 file2 file3 file3
실행 되어야 할 파일이 있는 경로가 필요하다면 아래와 같은 방법으로 저장이 가능합니다.
path_save.sh
BASE_NAME='basename "$EXEC_FILE"'
PATH_NAME=`echo "$EXEC_FILE" | sed 's/'"${BASE_NAME}"'$//'`
cd "$PATH_NAME" > /dev/null 2>&1
FULL_PATH=$(pwd)
basename : 실행파일의 경로를 제외한 파일명만 저장하는 명령어
sed : stream editor
| : pipe 명령어 (왼쪽의 실행 결과를 오른쪽으로 전달)
> /dev/null 2>&1 : standard output 결과 보이지 않게 하는 방법
이상으로 Shell script 현재 path 변수로 저장하기 / Script 실행결과 변수로 저장하기에 대하여 알아 보았습니다.