스크립트를 다시 실행하여 변수를 설정하고 검색하려면 어떻게 해야 합니까?

스크립트를 다시 실행하여 변수를 설정하고 검색하려면 어떻게 해야 합니까?

스크립트를 실행 중인데 스크립트를 실행하여 변수를 설정하고 싶습니다.

스크립트 파일

#!/bin/bash
# Check if passed parameters
if [[ -n $1 && -n $2 ]]; then
    export USER="$1"
    export PASS="$2"
fi
echo $USER $PASS

이것을 실행하면 모든 것이 예상대로 작동합니다.

root@master:/src#./script.sh root root
root root

하지만 인수 없이 스크립트를 실행하는 변수를 검색하려고 하면 아무것도 얻지 못합니다.

답변1

우리가 실행 중인 스크립트는 현재 명령줄 환경의 하위 프로세스이기 때문에 스크립트가 나중에 사용할 수 있도록 이러한 변수를 저장하는 것을 방지합니다.

그래서 실제로 다음을 실행하여 이 문제를 해결했습니다.

. ./script.sh root root

관련 정보