Bash 스크립팅 팁
명명 규칙
이것은 권장 사항일 뿐 실제로 변수 유형을 설정하지 않으며 변수 범위를 쉽게 인식하는 모범 사례입니다.
유형
범위
협약
환경
글로벌
MY_VARIABLE
글로벌
글로벌
_MY_VARIABLE
현지의
기능
my_변수
환경 변수
하위 프로세스 및 백그라운드 프로세스를 포함하여 코드의 모든 위치에서 사용할 수 있습니다. 하위 프로세스 또는 백그라운드 프로세스에서 선언된 환경 변수는 주 프로세스의 범위를 벗어납니다.
하위 프로세스
#!/bin/usr/env bash
export MAIN_VAR="MAIN_VAR value"
echo "main-process BEFORE - MAIN_VAR = $MAIN_VAR"
# sub-process
bash -c '
export SUB_PROCESS_VAR="SUB_PROCESS_VAR value"
echo "sub-process - SUB_PROCESS_VAR = $SUB_PROCESS_VAR"
echo "sub-process BEFORE - MAIN_VAR = $MAIN_VAR"
export MAIN_VAR="MAIN_VAR changed value"
echo "sub-process AFTER - MAIN_VAR = $MAIN_VAR"
'
echo "main-process AFTER - MAIN_VAR = $MAIN_VAR"
echo "main-process - SUB_PROCESS_VAR = $SUB_PROCESS_VAR"
산출
main-process BEFORE - MAIN_VAR = MAIN_VAR value
sub-process - SUB_PROCESS_VAR = SUB_PROCESS_VAR value
sub-process BEFORE - MAIN_VAR = MAIN_VAR value
sub-process AFTER - MAIN_VAR = MAIN_VAR changed value
main-process AFTER - MAIN_VAR = MAIN_VAR value
main-process - SUB_PROCESS_VAR =
백그라운드 프로세스
#!/bin/usr/env bash
export MAIN_VAR="MAIN_VAR value"
echo "main-process BEFORE - MAIN_VAR = $MAIN_VAR"
# background-process
export BG_PROCESS_VAR="BG_PROCESS_VAR value" && \
echo "bg-process - BG_PROCESS_VAR = $BG_PROCESS_VAR" && \
echo "bg-process BEFORE - MAIN_VAR = $MAIN_VAR" && \
export MAIN_VAR="MAIN_VAR changed value" && \
echo "bg-process AFTER - MAIN_VAR = $MAIN_VAR" \
& # set bg process
# Wait for bg processes (jobs) to complete
# Otherwise, the following lines won't be executed
wait
echo "main-process AFTER - MAIN_VAR = $MAIN_VAR"
echo "main-process - BG_PROCESS_VAR = $BG_PROCESS_VAR"
산출
main-process BEFORE - MAIN_VAR = MAIN_VAR value
bg-process - BG_PROCESS_VAR = BG_PROCESS_VAR value
bg-process BEFORE - MAIN_VAR = MAIN_VAR value
bg-process AFTER - MAIN_VAR = MAIN_VAR changed value
main-process AFTER - MAIN_VAR = MAIN_VAR value
main-process - BG_PROCESS_VAR =
Reference
이 문제에 관하여(Bash 스크립팅 팁), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/unfor19/bash-scripting-tips-13jo텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)