-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexmaple.msh
More file actions
172 lines (146 loc) · 3.16 KB
/
Copy pathexmaple.msh
File metadata and controls
172 lines (146 loc) · 3.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# ============================================
# Mini-Shell 完整语法示例脚本
# ============================================
# --------------------------------------------
# 1. 注释 (以 # 开头的行会被忽略)
# --------------------------------------------
# --------------------------------------------
# 2. 变量赋值
# --------------------------------------------
x = 10;
y = 20;
name = 100;
# 变量赋值给变量
z = x;
# --------------------------------------------
# 3. 算术运算 (支持 + - * / %)
# --------------------------------------------
sum = x + y;
diff = y - x;
product = x * y;
quotient = y / x;
remainder = y % 3;
# 复合运算
result = x + y * 2;
# --------------------------------------------
# 4. echo 输出
# --------------------------------------------
echo sum;
echo diff;
echo product;
echo quotient;
echo remainder;
echo "Hello World";
# --------------------------------------------
# 5. 数组操作
# --------------------------------------------
# 声明并初始化数组 (数组名[大小] = {值1, 值2, ...})
arr[5] = {10, 20, 30, 40, 50};
# 访问数组元素
echo arr[0];
echo arr[2];
echo arr[4];
# 使用变量作为索引
idx = 1;
echo arr[idx];
# 修改数组元素
arr[0] = 100;
echo arr[0];
# 将数组元素赋值给变量
val = arr[2];
echo val;
# --------------------------------------------
# 6. 比较运算符 (==, !=, >, <, >=, <=)
# --------------------------------------------
# --------------------------------------------
# 7. if 条件语句
# --------------------------------------------
a = 5;
b = 10;
# if 等于
if a == 5 {;
echo a;
}
# if 不等于
if a != 10 {;
echo a;
}
# if 大于
if b > a {;
echo b;
}
# if 小于
if a < b {;
echo a;
}
# if 大于等于
if b >= 10 {;
echo b;
}
# if 小于等于
if a <= 5 {;
echo a;
}
# --------------------------------------------
# 8. while 循环
# --------------------------------------------
# 计数循环
counter = 0;
while counter < 5 {;
counter = counter + 1;
echo counter;
}
# 使用 != 的循环
i = 3;
while i != 0 {;
echo i;
i = i - 1;
}
# --------------------------------------------
# 9. 斐波那契数列示例
# --------------------------------------------
fib_a = 0;
fib_b = 1;
fib_n = 0;
echo fib_a;
echo fib_b;
while fib_n < 8 {;
fib_c = fib_a + fib_b;
echo fib_c;
fib_a = fib_b;
fib_b = fib_c;
fib_n = fib_n + 1;
}
# --------------------------------------------
# 10. 阶乘计算示例
# --------------------------------------------
num = 5;
factorial = 1;
fact_i = 1;
while fact_i <= num {;
factorial = factorial * fact_i;
fact_i = fact_i + 1;
}
echo factorial;
# --------------------------------------------
# 11. 数组求和示例
# --------------------------------------------
numbers[5] = {1, 2, 3, 4, 5};
total = 0;
j = 0;
while j < 5 {;
temp = numbers[j];
total = total + temp;
j = j + 1;
}
echo total;
# --------------------------------------------
# 12. 管道命令 (调用系统命令)
# --------------------------------------------
# ls | grep main
# echo "test" | cat
# --------------------------------------------
# 13. source/run 命令 (执行其他脚本)
# --------------------------------------------
# source other_script.msh
# run another_script.msh