Shell-Script
檢查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
沒關係。沒有下劃線之謎
slurm_api.yml
是${STATIC_CONFIG_FILES[4]}
這樣的for
應該像一個for (( i=1;i<=$ELEMENTS;i++)); do