@ia-ccun/idea-plugin-share 0.0.75 → 0.0.76-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
package/plugins/split-parts.sh
CHANGED
|
@@ -1,56 +1,50 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
|
-
# 零依赖方案: 用 split
|
|
2
|
+
# 零依赖方案: 用 split 切成多段,麒麟端 cat 合并即可
|
|
3
3
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
# split 版切出来的文件是原始字节流, 合并后与源文件逐字节一致。
|
|
8
|
-
# 纯 POSIX sh 实现(无 pipefail / 数组 / nullglob / ${var:start:len}),
|
|
9
|
-
# dash / bash / zsh 都能跑。麒麟默认 /bin/sh 即 dash。
|
|
4
|
+
# 用法:
|
|
5
|
+
# sh split-parts.sh pack [SRC_NAME] [CHUNK_MB] [COUNT? 不直接用,这里按 CHUNK_MB 切]
|
|
6
|
+
# sh split-parts.sh unpack [SRC_NAME]
|
|
10
7
|
|
|
11
8
|
set -eu
|
|
12
9
|
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
default_name="aicode-deck_0.1.6_amd64.deb"
|
|
11
|
+
|
|
12
|
+
# 从参数读取
|
|
13
|
+
mode="${1:-}"
|
|
14
|
+
src="${2:-$default_name}"
|
|
15
|
+
chunk_mb="${3:-20}"
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
src=""
|
|
17
|
+
# 找不到就按默认名在当前目录找
|
|
18
|
+
if [ ! -f "$src" ] && [ "$src" = "$default_name" ]; then
|
|
19
|
+
# 在几个常用位置兜底
|
|
20
20
|
for d in . .. ../.. ../../..; do
|
|
21
21
|
if [ -f "$d/$default_name" ]; then
|
|
22
22
|
src="$d/$default_name"
|
|
23
23
|
break
|
|
24
24
|
fi
|
|
25
25
|
done
|
|
26
|
-
src="${src:-$default_name}"
|
|
27
26
|
fi
|
|
28
27
|
|
|
29
|
-
# prefix 跟随 src 的 basename,使 PART_SRC 指向任意路径都自洽
|
|
30
28
|
prefix="${src}.part-"
|
|
31
|
-
|
|
32
|
-
chunk=$((23 * 1024 * 1024))
|
|
29
|
+
chunk=$((chunk_mb * 1024 * 1024))
|
|
33
30
|
|
|
34
|
-
case "$
|
|
31
|
+
case "$mode" in
|
|
35
32
|
pack)
|
|
36
33
|
if [ ! -f "$src" ]; then
|
|
37
34
|
echo "找不到 $src" >&2
|
|
38
35
|
exit 1
|
|
39
36
|
fi
|
|
40
|
-
# POSIX sh: 无匹配时 glob 不展开,rm -f 收到字面 "prefix*",静默成功
|
|
41
37
|
rm -f "${prefix}"*
|
|
42
|
-
ls -
|
|
38
|
+
ls -lh "$src"
|
|
43
39
|
echo
|
|
44
|
-
# 前 3 段按 chunk 切, 剩余自动进第四段
|
|
45
40
|
split -b "$chunk" -d -a 2 "$src" "$prefix"
|
|
46
|
-
ls -
|
|
41
|
+
ls -lh "${prefix}"*
|
|
47
42
|
echo
|
|
48
|
-
echo "
|
|
43
|
+
echo "合并命令(麒麟端):"
|
|
49
44
|
echo " cat ${prefix}* > $src"
|
|
50
45
|
echo " sha256sum $src"
|
|
51
46
|
;;
|
|
52
47
|
unpack)
|
|
53
|
-
# set -- 触发 glob 展开;POSIX sh 无 nullglob,无匹配时 $# == 1 且 $1 是字面 pattern
|
|
54
48
|
set -- "${prefix}"*
|
|
55
49
|
if [ "$#" -eq 1 ] && [ ! -e "$1" ]; then
|
|
56
50
|
echo "找不到 ${prefix}* 分段文件" >&2
|
|
@@ -63,10 +57,9 @@ unpack)
|
|
|
63
57
|
else
|
|
64
58
|
shasum -a 256 "$src"
|
|
65
59
|
fi
|
|
66
|
-
echo "期望: cccb5a3a996b3b6de9176f887824b2cf0c238f713e8efdf9cad0c1bc1b342144"
|
|
67
60
|
;;
|
|
68
61
|
*)
|
|
69
|
-
echo "用法: sh $0 pack|unpack" >&2
|
|
62
|
+
echo "用法: sh $0 pack [SRC_NAME] [CHUNK_MB] | unpack [SRC_NAME]" >&2
|
|
70
63
|
exit 1
|
|
71
64
|
;;
|
|
72
65
|
esac
|
|
Binary file
|