mirror of
https://github.com/bin456789/reinstall.git
synced 2025-01-19 04:49:13 +08:00
core: 支持不输入版本号
This commit is contained in:
parent
2385a43844
commit
7405a7f242
23
.github/workflows/main.yml
vendored
23
.github/workflows/main.yml
vendored
@ -23,22 +23,23 @@ jobs:
|
|||||||
- name: Run Script
|
- name: Run Script
|
||||||
shell: bash # https://github.com/actions/runner-images/issues/6668
|
shell: bash # https://github.com/actions/runner-images/issues/6668
|
||||||
run: |
|
run: |
|
||||||
${{ matrix.command }} centos-7
|
${{ matrix.command }} centos 7
|
||||||
${{ matrix.command }} alma-8
|
${{ matrix.command }} alma-8
|
||||||
${{ matrix.command }} rocky-9
|
${{ matrix.command }} rocky 8
|
||||||
${{ matrix.command }} alpine-3.18
|
${{ matrix.command }} fedora
|
||||||
${{ matrix.command }} ubuntu-22.04
|
${{ matrix.command }} ubuntu
|
||||||
${{ matrix.command }} debian-12
|
${{ matrix.command }} debian 12
|
||||||
|
${{ matrix.command }} alpine
|
||||||
${{ matrix.command }} dd --img=https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.3.8.tar.xz
|
${{ matrix.command }} dd --img=https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.3.8.tar.xz
|
||||||
|
|
||||||
# 测试 cloud image
|
# 测试 cloud image
|
||||||
${{ matrix.command }} centos-7 --ci
|
${{ matrix.command }} centos --ci
|
||||||
${{ matrix.command }} alma-8 --ci
|
${{ matrix.command }} alma --ci
|
||||||
${{ matrix.command }} rocky-9 --ci
|
${{ matrix.command }} rocky --ci
|
||||||
${{ matrix.command }} fedora-38 --ci
|
${{ matrix.command }} fedora-38 --ci
|
||||||
${{ matrix.command }} ubuntu-22.04 --ci
|
${{ matrix.command }} ubuntu 22.04 --ci
|
||||||
${{ matrix.command }} debian-12 --ci
|
${{ matrix.command }} debian --ci
|
||||||
${{ matrix.command }} opensuse-15.5
|
${{ matrix.command }} opensuse
|
||||||
${{ matrix.command }} arch
|
${{ matrix.command }} arch
|
||||||
|
|
||||||
# 测试失败例子
|
# 测试失败例子
|
||||||
|
39
reinstall.sh
39
reinstall.sh
@ -477,23 +477,34 @@ is_distro_like_redhat() {
|
|||||||
# 检查是否为正确的系统名
|
# 检查是否为正确的系统名
|
||||||
verify_os_string() {
|
verify_os_string() {
|
||||||
for os in \
|
for os in \
|
||||||
'centos-7|8|9' \
|
'centos 7|8|9' \
|
||||||
'alma-8|9' \
|
'alma 8|9' \
|
||||||
'rocky-8|9' \
|
'rocky 8|9' \
|
||||||
'fedora-37|38' \
|
'fedora 37|38' \
|
||||||
'ubuntu-20.04|22.04' \
|
'debian 10|11|12' \
|
||||||
'alpine-3.16|3.17|3.18' \
|
'ubuntu 20.04|22.04' \
|
||||||
'debian-10|11|12' \
|
'alpine 3.16|3.17|3.18' \
|
||||||
'opensuse-15|15.4|15.5|tumbleweed' \
|
'opensuse 15|15.4|15.5|tumbleweed' \
|
||||||
'arch-' \
|
'arch' \
|
||||||
'windows-' \
|
'windows' \
|
||||||
'dd-'; do
|
'dd'; do
|
||||||
ds=$(echo $os | cut -d- -f1)
|
ds=$(awk '{print $1}' <<<"$os")
|
||||||
vers=$(echo $os | cut -d- -f2 | sed 's \. \\\. g')
|
vers=$(awk '{print $2}' <<<"$os" | sed 's \. \\\. g')
|
||||||
finalos=$(echo "$@" | tr '[:upper:]' '[:lower:]' | sed -n -E "s,^($ds)[ :-]?($vers)$,\1:\2,p")
|
finalos=$(echo "$@" | tr '[:upper:]' '[:lower:]' | sed -n -E "s,^($ds)[ :-]?(|$vers)$,\1:\2,p")
|
||||||
if [ -n "$finalos" ]; then
|
if [ -n "$finalos" ]; then
|
||||||
distro=$(echo $finalos | cut -d: -f1)
|
distro=$(echo $finalos | cut -d: -f1)
|
||||||
releasever=$(echo $finalos | cut -d: -f2)
|
releasever=$(echo $finalos | cut -d: -f2)
|
||||||
|
if [ -z "$releasever" ]; then
|
||||||
|
# 默认版本号
|
||||||
|
if grep -q '|' <<<$os; then
|
||||||
|
if [ "$distro" = opensuse ]; then
|
||||||
|
field='NF-1'
|
||||||
|
else
|
||||||
|
field='NF'
|
||||||
|
fi
|
||||||
|
releasever=$(awk '{print $2}' <<<$os | awk -F'|' "{print \$($field)}")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
Loading…
x
Reference in New Issue
Block a user