下載 Bats 並安裝到用戶的暫存目錄 (以免安裝的方式啟動)
完整的流程,從下載Bats到安裝到用戶的暫存目錄,並臨時設置環境變數來使用它。
1. 下載Bats
首先,從GitHub下載Bats v1.11.0的源碼壓縮包:
wget https://github.com/bats-core/bats-core/archive/refs/tags/v1.11.0.tar.gz -O bats-core-1.11.0.tar.gz
解壓縮下載的檔案:
tar -xzf bats-core-1.11.0.tar.gz
進入解壓縮的目錄:
cd bats-core-1.11.0
2. 安裝腳本
原作寫的安裝腳本 bats-core/install.sh 下面是腳本的解析並追加了提示如何添加到環境變數的信息,你也可以直接執行原裝的就好沒有改動。
在解壓縮的目錄中,創建一個名為 install_bats.sh
的文件,並將以下內容粘貼到文件中:-
#!/usr/bin/env bash
set -e
BATS_ROOT="${0%/*}" # 腳本所在目錄的路徑
PREFIX="${1%/}" # 安裝前綴路徑 (移除路徑結尾的斜線)
LIBDIR="${2:-lib}" # 庫文件目錄名,默認為 "lib"
# 如果沒有提供安裝路徑,則輸出使用說明到標準錯誤。
if [[ -z "$PREFIX" ]]; then
printf '%s\n' \
"usage: $0 <prefix> [base_libdir]" \
" e.g. $0 /usr/local" \
" $0 /usr/local lib64" >&2
exit 1
fi
# 使用 install 命令來創建目錄結構並設置適當的權限。
install -d -m 755 "$PREFIX"/{bin,libexec/bats-core,"${LIBDIR}"/bats-core,share/man/man{1,7}}
# 安裝二進制文件、庫和手冊頁。
install -m 755 "$BATS_ROOT/bin"/* "$PREFIX/bin"
install -m 755 "$BATS_ROOT/libexec/bats-core"/* "$PREFIX/libexec/bats-core"
install -m 755 "$BATS_ROOT/lib/bats-core"/* "$PREFIX/${LIBDIR}/bats-core"
install -m 644 "$BATS_ROOT/man/bats.1" "$PREFIX/share/man/man1"
install -m 644 "$BATS_ROOT/man/bats.7" "$PREFIX/share/man/man7"
# 讀取安裝後的 bats 執行文件,修改庫目錄變量後重新寫入。
read -rd '' BATS_EXE_CONTENTS <"$PREFIX/bin/bats" || true
BATS_EXE_CONTENTS=${BATS_EXE_CONTENTS/"BATS_BASE_LIBDIR=lib"/"BATS_BASE_LIBDIR=${LIBDIR}"}
printf "%s" "$BATS_EXE_CONTENTS" > "$PREFIX/bin/bats"
# 輸出安裝完成的訊息
echo "Installed Bats to $PREFIX/bin/bats"
# 提示用戶如何添加 BATS 到環境變數
echo "To temporarily add Bats to your PATH, run:"
echo "export PATH=\"\$PATH:$PREFIX/bin\""
給安裝腳本賦予執行權限:
chmod +x install_bats.sh
執行安裝腳本,將Bats安裝到 ~/tmp/bats
目錄中:
./install_bats.sh ~/tmp/bats
3. 臨時設置環境變數
按照腳本的提示,設置環境變數以臨時使用Bats:
export PATH="~/tmp/bats/bin:$PATH"
這裡的路徑記得要根據安裝的位置輸入,然後這只是臨時的關閉終端機就沒有了
4. 驗證安裝
確認Bats已成功安裝並可用:
bats --version
總結
以上步驟將Bats安裝到用戶的暫存目錄 /tmp/bats
,並通過臨時設置環境變數使其可用。這樣可以在不影響系統的情況下使用Bats進行測試。
沒有留言:
張貼留言