[Shell] Support fastdeploy_init.sh for ZSH terminal (#1684)

* 兼容zsh

* 使用脚本所在的绝对路径, 确保与执行位置无关

---------

Co-authored-by: Edward Zhou <edwardzhou@EdwarddeMacBook-Pro-2.local>
Co-authored-by: Zheng-Bicheng <58363586+Zheng-Bicheng@users.noreply.github.com>
Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com>
This commit is contained in:
Edward Zhou
2023-05-19 16:51:51 +08:00
committed by GitHub
parent f21f2b3dee
commit 2032ce8dca

View File

@@ -1,11 +1,11 @@
# source this file to import libraries
PLATFORM=`uname`
FASTDEPLOY_LIBRARY_PATH=${BASH_SOURCE}
if [ "$PLATFORM" == "Linux" ];then
FASTDEPLOY_LIBRARY_PATH=${BASH_SOURCE:-$0}
if [[ "$PLATFORM" == "Linux" ]];then
FASTDEPLOY_LIBRARY_PATH=`readlink -f ${FASTDEPLOY_LIBRARY_PATH}`
fi
FASTDEPLOY_LIBRARY_PATH=${FASTDEPLOY_LIBRARY_PATH%/*}
FASTDEPLOY_LIBRARY_PATH=$(cd `dirname ${FASTDEPLOY_LIBRARY_PATH}`; pwd)
echo "=============== Information ======================"
echo "FastDeploy Library Path: $FASTDEPLOY_LIBRARY_PATH"
@@ -13,15 +13,22 @@ echo "Platform: $PLATFORM"
echo "=================================================="
# Find all the .so files' path
ALL_SO_FILES=`find $FASTDEPLOY_LIBRARY_PATH -name "*.so*"`
if [[ "$(ps -a $$)" =~ "zsh" ]]; then
ALL_SO_FILES=(`find $FASTDEPLOY_LIBRARY_PATH -name "*.so*"`)
ALL_DYLIB_FILES=(`find $FASTDEPLOY_LIBRARY_PATH -name "*.dylib*"`)
else
ALL_SO_FILES=`find $FASTDEPLOY_LIBRARY_PATH -name "*.so*"`
ALL_DYLIB_FILES=`find $FASTDEPLOY_LIBRARY_PATH -name "*.dylib*"`
fi
for SO_FILE in $ALL_SO_FILES;do
LIBS_DIRECOTRIES[${#LIBS_DIRECOTRIES[@]}]=${SO_FILE%/*}
LIBS_DIRECOTRIES+=(${SO_FILE%/*})
done
# Find all the .dylib files' path
ALL_DYLIB_FILES=`find $FASTDEPLOY_LIBRARY_PATH -name "*.dylib*"`
# ALL_DYLIB_FILES=(`find $FASTDEPLOY_LIBRARY_PATH -name "*.dylib*"`)
for DYLIB_FILE in $ALL_DYLIB_FILES;do
LIBS_DIRECOTRIES[${#LIBS_DIRECOTRIES[@]}]=${DYLIB_FILE%/*}
LIBS_DIRECOTRIES+=(${DYLIB_FILE%/*})
done
# Remove the dumplicate directories
@@ -43,4 +50,6 @@ then
fi
echo "[Execute] Will try to export all the library directories to environments, if not work, please try to export these path by your self."
export LD_LIBRARY_PATH=${IMPORT_PATH}:$LD_LIBRARY_PATH
NEW_LIB_PATH=$(tr ":" "\n" <<< "${IMPORT_PATH}:$LD_LIBRARY_PATH" | sort | uniq | tr "\n" ":")
export LD_LIBRARY_PATH=$NEW_LIB_PATH