dot: bash add-to-path 函数添加 -s 静默参数

This commit is contained in:
2026-03-16 19:06:17 +08:00
parent 9ce32f5670
commit ce4c0f1d1a
4 changed files with 34 additions and 9 deletions

View File

@@ -5,7 +5,9 @@ unset basedir
export JAVA_HOME="/opt/android-studio/jbr" export JAVA_HOME="/opt/android-studio/jbr"
export ANDROID_HOME="${HOME}/Android/Sdk" export ANDROID_HOME="${HOME}/Android/Sdk"
if [[ -d "${ANDROID_HOME}/ndk" ]]; then
export NDK_HOME="$ANDROID_HOME/ndk/$(ls -1 $ANDROID_HOME/ndk)" export NDK_HOME="$ANDROID_HOME/ndk/$(ls -1 $ANDROID_HOME/ndk)"
fi
add-to-path "${ANDROID_HOME}/emulator" "${ANDROID_HOME}/platform-tools" add-to-path -s "${ANDROID_HOME}/emulator" "${ANDROID_HOME}/platform-tools"

View File

@@ -31,13 +31,36 @@ generate-bash-completion() {
} }
add-to-path() { add-to-path() {
if [[ $# -eq 0 ]]; then local silence=false
echo "usage: add-to-path <path1> [path2 ...]" >&2 local -a dirs=()
while [[ $# -gt 0 ]]; do
case "$1" in
-s)
silence=true
shift
;;
--)
shift
dirs+=("$@")
break
;;
*)
dirs+=("$1")
shift
;;
esac
done
if [[ ${#dirs[@]} -eq 0 ]]; then
echo "usage: add-to-path [-s] <path1> [path2 ...]" >&2
echo "" >&2
echo " -s: if some path not exist, just skip it silently" >&2
echo "" >&2
echo "example: add-to-path /usr/local/bin /tmp/my-dir" >&2 echo "example: add-to-path /usr/local/bin /tmp/my-dir" >&2
return 1 return 1
fi fi
local -a dirs=("$@")
local dir local dir
local dir_normalized local dir_normalized
local new_path="$PATH" local new_path="$PATH"
@@ -47,7 +70,9 @@ add-to-path() {
dir_normalized="${dir%/}" dir_normalized="${dir%/}"
if [[ ! -d "$dir_normalized" ]]; then if [[ ! -d "$dir_normalized" ]]; then
if [[ "$silence" == false ]]; then
echo "WARNING: '${dir}' is not a valid directory, skipped." >&2 echo "WARNING: '${dir}' is not a valid directory, skipped." >&2
fi
continue continue
fi fi

View File

@@ -4,7 +4,7 @@ source "${basedir}/function.bash"
unset basedir unset basedir
export PNPM_HOME="${HOME}/.local/share/pnpm" export PNPM_HOME="${HOME}/.local/share/pnpm"
add-to-path $PNPM_HOME add-to-path -s $PNPM_HOME
if [[ -x "$(type -p pnpm)" ]]; then if [[ -x "$(type -p pnpm)" ]]; then
generate-bash-completion pnpm "pnpm completion bash" generate-bash-completion pnpm "pnpm completion bash"

View File

@@ -21,5 +21,3 @@ if [[ -x $(type -p volta) || -x "${VOLTA_HOME}/bin/volta" ]]; then
unhash-command-in-dirs "$bin_dir" unhash-command-in-dirs "$bin_dir"
} }
fi fi