1
저는 bash에 익숙하지 않았기 때문에 저를 당황하게하는 사례를 만났습니다.Bash. 변수의 가시성과 수명
-------point 1--------
-------point 2--------
El 1
El 3
El 2
var value
당신이 볼 수 있듯이, 함수 F1은 두 가지 방법으로 불렸다 그들은 매우 다른 의미를 부여 :
f1()
{
ar+=(1)
ar+=(3)
ar+=(2)
var="var value"
echo "0"
}
f2()
{
res=$(f1)
echo -------point 1--------
for i in ${ar[@]}; do
echo "El $i"
done
echo $var
echo -------point 2--------
f1>/dev/null
for i in ${ar[@]}; do
echo "El $i"
done
echo $var
}
f2
이 스크립트는 다음과 같은 결과를 생성 : 그것은 이러한 경우의 예입니다. 첫 번째 호출에서 f1에 선언 된 배열과 변수는 분명히 파괴되었습니다. 두 번째 방법으로 배열과 변수가 저장되었습니다.
아무도 나에게 설명하거나 적절한 매뉴얼에 대한 링크를 줄 수 있습니까?