📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 527行目: | 527行目: | ||
} | } | ||
# 環境変数PATHの設定 | |||
function SetPATH() | function SetPATH() | ||
{ | { | ||
OLDIFS=$IFS | OLDIFS=${IFS} | ||
IFS=$':' | IFS=$':' | ||
BEFORE_HOME='$HOME' | BEFORE_HOME='$HOME' | ||
AFTER_HOME= | AFTER_HOME=${HOME} | ||
PATH_NAME=$(echo ${1// | PATH_NAME=$(echo ${1//${BEFORE_HOME}/${AFTER_HOME}}) | ||
SLASH=$(echo ${PATH_NAME: -1:1}) | |||
if [ ${SLASH} = "/" ]; then | |||
LENGTH="${#PATH_NAME}" | |||
let LENGTH=${LENGTH}-1 | |||
PATH_NAME=$(echo ${PATH_NAME:0:${LENGTH}}) | |||
fi | |||
if [ ! -d ${PATH_NAME} ]; then | |||
echo "No Exist Directory" | |||
return 1 | |||
fi | fi | ||
EXIST_FLAG= | EXIST_FLAG=0 | ||
for VALUE in $PATH | for VALUE in ${PATH} | ||
do | do | ||
if [ | if [ ${VALUE} = ${PATH_NAME} ]; then | ||
EXIST_FLAG= | EXIST_FLAG=1 | ||
break | break | ||
fi | fi | ||
done | done | ||
if [ | if [ ${EXIST_FLAG} -eq 0 ]; then | ||
export PATH="$1 | export PATH="$PATH_NAME:$PATH" | ||
elif [ ${EXIST_FLAG} -eq 1 ]; then | |||
echo "Already Exist ${PATH_NAME} in PATH " 1>&2 | |||
fi | fi | ||
unset -v OLDIFS SLASH LENGTH BEFORE_HOME AFTER_HOME PATH_NAME EXIST_FLAG VALUE | unset -v OLDIFS SLASH LENGTH BEFORE_HOME AFTER_HOME PATH_NAME EXIST_FLAG VALUE | ||
IFS=$OLDIFS | IFS=${OLDIFS} | ||
return 0 | |||
} | } | ||
function SetLIBRARY() | function SetLIBRARY() | ||
{ | { | ||
OLDIFS=$IFS | OLDIFS=${IFS} | ||
IFS=$':' | IFS=$':' | ||
BEFORE_HOME='$HOME' | BEFORE_HOME='$HOME' | ||
AFTER_HOME="$HOME" | AFTER_HOME="$HOME" | ||
PATH_NAME=$(echo ${1// | PATH_NAME=$(echo ${1//${BEFORE_HOME}/${AFTER_HOME}}) | ||
SLASH=$(echo ${PATH_NAME: -1:1}) | |||
if [ ${SLASH} = "/" ]; then | |||
LENGTH="${#PATH_NAME}" | |||
let LENGTH=${LENGTH}-1 | |||
PATH_NAME=$(echo ${PATH_NAME:0:${LENGTH}}) | |||
fi | |||
if [ ! -d ${PATH_NAME} ]; then | |||
echo "No Exist Directory" | |||
return 1 | |||
fi | fi | ||
EXIST_FLAG= | EXIST_FLAG=0 | ||
for VALUE in $PATH | for VALUE in ${PATH} | ||
do | do | ||
if [ | if [ ${VALUE} = ${PATH_NAME} ]; then | ||
EXIST_FLAG= | EXIST_FLAG=1 | ||
break | break | ||
fi | fi | ||
done | done | ||
if [ | if [ ${EXIST_FLAG} -eq 0 ]; then | ||
export LD_LIBRARY_PATH="$ | export LD_LIBRARY_PATH="$PATH_NAME:$LD_LIBRARY_PATH" | ||
elif [ ${EXIST_FLAG} -eq 1 ]; then | |||
echo "Already Exist ${PATH_NAME} in PATH " 1>&2 | |||
fi | fi | ||
unset -v OLDIFS SLASH LENGTH BEFORE_HOME AFTER_HOME PATH_NAME EXIST_FLAG VALUE | unset -v OLDIFS SLASH LENGTH BEFORE_HOME AFTER_HOME PATH_NAME EXIST_FLAG VALUE | ||
IFS=$OLDIFS | IFS=${OLDIFS} | ||
} | } | ||
# 環境変数PATHの重複を削除する | |||
function DeleteDuplicate() | |||
# | { | ||
if typeset -A &>/dev/null; then # 連想配列が使用できるか確認する | |||
# 使える場合 | |||
typeset -A _paths | |||
typeset _results | |||
while read -r _p | |||
do | |||
if [[ -n ${_p} ]] && (( ${_paths["${_p}"]:-1} )); then | |||
_paths["${_p}"]=0 | |||
_results=${_results}:${_p} | |||
fi | |||
done <<<"${PATH//:/$'\n'}" | |||
PATH=${_results/:/} | |||
unset -v _p _paths _results | |||
else | |||
# 使えない場合はawkを使用する | |||
typeset _p=$(awk 'BEGIN{RS=":";ORS=":"} !x[$0]++' <<<"${PATH}:") | |||
PATH=${_p%:*:} | |||
unset -v _p | |||
fi | |||
} | |||
<br><br> | <br><br> | ||