mirror of
https://github.com/lkmio/lkm.git
synced 2026-04-22 16:17:05 +08:00
59 lines
1.4 KiB
Bash
59 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# 默认的 GOOS 和 GOARCH 值
|
|
DEFAULT_GOOS="linux"
|
|
DEFAULT_GOARCH="amd64"
|
|
|
|
# 初始化 GOOS 和 GOARCH 变量
|
|
GOOS=""
|
|
GOARCH=""
|
|
|
|
# 解析命令行参数
|
|
while [ $# -gt 0 ]; do
|
|
case "$1" in
|
|
*=*) # 如果参数是键值对形式
|
|
key="${1%%=*}" # 提取键
|
|
value="${1#*=}" # 提取值
|
|
case "$key" in
|
|
GOOS) GOOS="$value" ;; # 如果键是 GOOS,则设置 GOOS
|
|
GOARCH) GOARCH="$value" ;; # 如果键是 GOARCH,则设置 GOARCH
|
|
*) echo "Unknown parameter: $key" ;;
|
|
esac
|
|
shift
|
|
;;
|
|
*) # 如果参数不是键值对形式
|
|
echo "Usage: $0 [GOOS=operating_system] [GOARCH=architecture]"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# 如果没有通过命令行参数设置 GOOS,则尝试从 go env 读取
|
|
if [ -z "$GOOS" ]; then
|
|
GOOS=$(go env GOOS 2>/dev/null)
|
|
|
|
# 如果 go env 失败,则使用默认值
|
|
if [ -z "$GOOS" ]; then
|
|
GOOS="$DEFAULT_GOOS"
|
|
fi
|
|
fi
|
|
|
|
# 如果没有通过命令行参数设置 GOARCH,则尝试从 go env 读取
|
|
if [ -z "$GOARCH" ]; then
|
|
GOARCH=$(go env GOARCH 2>/dev/null)
|
|
|
|
# 如果 go env 失败,则使用默认值
|
|
if [ -z "$GOARCH" ]; then
|
|
GOARCH="$DEFAULT_GOARCH"
|
|
fi
|
|
fi
|
|
|
|
# 输出 GOOS 和 GOARCH 的值
|
|
echo "The value of GOOS is: $GOOS"
|
|
echo "The value of GOARCH is: $GOARCH"
|
|
|
|
|
|
cp ../avformat ./ -r
|
|
|
|
docker build --build-arg GOOS=$GOOS --build-arg GOARCH=$GOARCH -t lkm .
|