===================================================================== --- Bug fixes ---------------------------- - s3/media-sync/push now pushes (instead of pull -- oops!) - fixed a typo in the launch-or-show help - environment actions no longer overwrite overwrite symlinks
43 lines
1.1 KiB
Bash
Executable File
43 lines
1.1 KiB
Bash
Executable File
#!/bin/zsh
|
|
_DEPENDENCIES+=()
|
|
_REQUIRED_ENV+=()
|
|
source ${0:a:h}/common.zsh
|
|
#####################################################################
|
|
|
|
[ $1 ] && ENV_NAME="$1"
|
|
|
|
[ ! $1 ] && {
|
|
[ $SCWRYPTS_ENV ] \
|
|
&& ENV_NAME=$SCWRYPTS_ENV \
|
|
|| ENV_NAME=$(__SELECT_OR_CREATE_ENV)
|
|
}
|
|
[ ! $ENV_NAME ] && __ABORT
|
|
|
|
ENV_FILE=$(__GET_ENV_FILE $ENV_NAME)
|
|
[ ! -f $ENV_FILE ] && {
|
|
__STATUS "Creating '$ENV_NAME'..." \
|
|
&& cp $__ENV_TEMPLATE $ENV_FILE \
|
|
&& __RUN_SCWRYPT zsh/scwrypts/environment/synchronize -- --no-prompt \
|
|
&& __SUCCESS "created '$ENV_NAME'" \
|
|
|| { __ERROR "failed to create '$ENV_FILE'"; exit 1; }
|
|
}
|
|
|
|
__EDIT $ENV_FILE
|
|
_SORT_ENV $ENV_FILE
|
|
|
|
while read line
|
|
do
|
|
ENV_VAR=$(echo "$line" | _SED 's/=.*$//; s/^export //')
|
|
grep -q "$ENV_VAR" $__ENV_TEMPLATE || {
|
|
((NEW_VAR+=1))
|
|
echo "export $ENV_VAR=" >> $__ENV_TEMPLATE
|
|
__STATUS "detected new variable '$ENV_VAR'"
|
|
}
|
|
done < $ENV_FILE
|
|
|
|
__RUN_SCWRYPT zsh/scwrypts/environment/synchronize -- --no-prompt \
|
|
|| __FAIL 4 'failed to run environment sync' \
|
|
;
|
|
|
|
__SUCCESS "environment '$ENV_NAME' successfully modified"
|