zsh의 파일 이름에 밑줄 친 파일이 있는지 확인하십시오.

zsh의 파일 이름에 밑줄 친 파일이 있는지 확인하십시오.

공유 구성 파일을 연결하는 매우 간단한 스크립트를 작성 중입니다. 어떤 이유로 이름에 밑줄이 있는 파일에 대해 예상한 것과 다르게 동작합니다. _(밑줄)은 zsh에서 특별한 의미를 갖나요?

언급된 스크립트는 이제 다음과 같습니다.

#!/bin/zsh
STATIC_CONFIG_PATH="/opt/apps/config"
STATIC_CONFIG_FILES=("couchdb.yml" "database.yml" "elasticsearch.yml" "slurm_api.yml")


cd $1/config
ELEMENTS=${#STATIC_CONFIG_FILES[@]}
for (( i=0;i<$ELEMENTS;i++)); do
  if [ ! -L ${STATIC_CONFIG_FILES[${i}]} ]; then
    echo 'Linking '$STATIC_CONFIG_PATH'/'${STATIC_CONFIG_FILES[${i}]}
    ln -s $STATIC_CONFIG_PATH'/'${STATIC_CONFIG_FILES[${i}]}
  fi
done

답변1

그것은 중요하지 않습니다. 밑줄이 없는 미스터리

slurm_api.yml${STATIC_CONFIG_FILES[4]}이렇게 되어야 for합니다

for (( i=1;i<=$ELEMENTS;i++)); do

관련 정보