다음 명령을 실행하십시오.
[$] echo 'export VAR="qwertyuiop"
export VAR="$VAR:asdf=ghjkl"' > /tmp/vars.sh
[$] source /tmp/vars.sh
[$] echo $VAR
/home/saga/qwertyuiopsdf=ghjkl
보시다시피 변수 대체는 예상대로 작동하지 않습니다. 여기서 문제가 무엇입니까?
답변1
콜론은 에서 수정자 역할을 합니다 zsh
. 인용하다이 참조,
선택적 단어 표시자 뒤에 각각 ":"이 앞에 오는 다음 수정자 중 하나 이상을 추가할 수 있습니다. 달리 명시하지 않는 한 이러한 수정자는 파일 이름 생성 및 매개변수 확장 결과에도 적용됩니다.
ㅏ
파일 이름을 절대 경로로 변환:필요한 경우 현재 디렉토리 앞에 다음을 추가하십시오.(...)
요약하면 수정자 역할을 하며 확장된 값 앞에 :a
현재 디렉터리를 추가합니다 .VAR
수정자가 작동하지 않도록 하려면 변수를 중괄호로 묶습니다 VAR="${VAR}:asdf=ghjkl"
.