共有構成ファイルをリンクする非常に簡単なスクリプトを作成しています。何らかの理由で、名前にアンダースコアがあるファイルに対して予想された動作とは異なります。 _(アンダースコア)は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