shell基础

  1 第一个shell脚本
  2 #!/bin/bash
  3 echo "Hello World"
  4 
  5 使用read从标准输入获取输入并赋值给变量,然后输出
  6 #!/bin/bash
  7 
  8 # Author : zjw
  9 # Copyright @ www.litsoft.com
 10 # Script follow here:
 11 
 12 echo "what is your name?"
 13 read PERSON
 14 echo "Hello, $PERSON"
 15 
 16 使用变量,并使用了for循环
 17 #!/bin/bash
 18 
 19 for skill in Ada Coffe Action Java
 20 do
 21     echo "I am good at ${skill} Script."
 22 done
 23 
 24 echo "Over"
 25 
 26 重定义变量
 27 #!/bin/bash
 28 
 29 myUrl="Http://www.litsoft.com"
 30 echo ${myUrl}
 31 
 32 myUrl="Http://www.myblog.com"
 33 echo ${myUrl}
 34 
 35 echo "Over"
 36 
 37 
 38 只读变量
 39 #!/bin/bash
 40 
 41 myUrl="Http://www.litsoft.com"
 42 echo ${myUrl}
 43 
 44 readonly myUrl
 45 
 46 myUrl="Http://www.myblog.com"
 47 echo ${myUrl}
 48 
 49 echo "Over"
 50 
 51 
 52 删除变量
 53 #!/bin/bash
 54 
 55 myUrl="Http://www.litsoft.com"
 56 echo ${myUrl}
 57 
 58 unset myUrl
 59 
 60 #myUrl="Http://www.myblog.com"
 61 echo ${myUrl}
 62 
 63 echo "Over"
 64 
 65 
 66 特殊变量,命令行参数
 67 #!/bin/bash
 68 
 69 echo "File Name : $0"
 70 echo "First Parameter : $1"
 71 echo "Second Parameter : $2"
 72 echo "Quoted Values : $@"
 73 echo "Quoted Values : $*"
 74 echo "Total Number of Parameters : $#"
 75 
 76 
 77 变量替换
 78 #!/bin/bash
 79 
 80 a=10
 81 echo -e "Value of a is $a \n"
 82 echo "Over"
 83 
 84 
 85 命令替换
 86 #!/bin/bash
 87 DATE=date
 88 echo "Date is $DATE"
 89 
 90 USERS=who | wc -l
 91 echo "Logged in user are $USERS"
 92 
 93 UP=date; uptime
 94 echo "Uptime is &UP"
 95 
 96 
 97 变量替换
 98 #!/bin/bash
 99 
100 echo ${var:-"Variable is not set"}
101 echo "1 - Value of var is ${var}"
102 
103 echo ${var:="Variable is not set"}
104 echo "2 - Value of var is ${var}"
105 
106 unset var
107 echo ${var:+"This is default value"}
108 echo "3 - Value of var is $var"
109 
110 var="Prefix"
111 echo ${var:+"This is default value"}
112 echo "4 - Value of var is $var"
113 
114 echo ${var:?"Print this message"}
115 echo "5 - Value of var is ${var}"
116 
117 
118 ===========================shell运算符============================================
119 算术运算符
120 #!/bin/bash
121 
122 val= expr 2 + 2
123 
124 echo "Total value : $val"
125 
126 #!/bin/bash
127 
128 a=10
129 b=20
130 val= expr $a + $b
131 echo "a + b : $val"
132 
133 val= expr $a - $b
134 echo "a - b : $val"
135 
136 val= expr $a \* $b
137 echo "a * b : $val"
138 
139 val= expr $b / $a
140 echo "b / a : $val"
141 
142 val= expr $b % $a
143 echo "b % a : $val"
144 
145 if [ $a == $b ]
146 then
147     echo "a is equal to b"
148 fi
149 
150 if [ $a != $b ]
151 then
152     echo "a is not equal to b"
153 fi
154 
155 
156 关系运算符
157 #!/bin/sh
158 
159 a=10
160 b=20
161 if [ $a -eq $b ]
162 then
163     echo "$a -eq $b : a is equal to b"
164 else
165     echo "$a -eq $b : a is not equal to b"
166 fi
167 
168 if [ $a -ne $b ]
169 then
170     echo "$a -ne $b : a is not equal to b"
171 else
172     echo "$a -ne $b : a is equal to b"
173 fi
174 
175 if [ $a -gt $b ]
176 then
177     echo "$a -gt $b : a is greater than b"
178 else
179     echo "$a -gt $b : a is not greater than b"
180 fi
181 
182 if [ $a -lt $b ]
183 then
184     echo "$a -lt $b : a is less than b"
185 else
186     echo "$a -lt $b : a is not less than b"
187 fi
188 
189 if [ $a -ge $b ]
190 then
191     echo "$a -ge $b : a is greater or equal to b"
192 else
193     echo "$a -ge $b : a is not greater or equal to b"
194 fi
195 
196 if [ $a -le $b ]
197 then
198     echo "$a -le $b : a is less or equal to b"
199 else
200     echo "$a -le $b : a is no less or equal to b"
201 fi
202 
203 
204 布尔运算符
205 #!/bin/bash
206 
207 a=10
208 b=20
209 
210 if [ $a != $b ]
211 then
212     echo "$a != $b : a is not equal to b"
213 else
214     echo "$a != $b : a is equal to b"
215 fi
216 
217 if [ $a -lt 100 -a $b -gt 15 ]
218 then
219     echo "$a -lt 100 -a $b -gt 15 : return true"
220 else
221     echo "$a -lt 100 -a $b -gt 15 : return false"
222 fi
223 
224 if [ $a -lt 100 -o $b -gt 100 ]
225 then
226     echo "$a -lt 100 -o $b -gt 100 : return true"
227 else
228     echo "$a -lt 100 -o $b -gt 100 : return false"
229 fi
230 
231 if [ $a -lt 5 -o $b -gt 100 ]
232 then
233     echo "$a -lt 100 -o $b -gt 100 : return true"
234 else
235     echo "$a -lt 100 -o $b -gt 100 : return false"
236 fi
237 
238 
239 字符串运算符
240 #!/bin/bash
241 
242 a="abc"
243 b="efg"
244 
245 if [ $a = $b ]
246 then
247     echo "$a = $b : a is equal to b"
248 else
249     echo "$a = $b : a is not equal to b"
250 fi
251 
252 if [ $a != $b ]
253 then
254     echo "$a != $b : a is not equal to b"
255 else
256     echo "$a != $b : a is equal to b"
257 fi
258 
259 if [ -z $a ]
260 then
261     echo "-z $a : string length is zero"
262 else
263     echo "-z $a : string length is not zero"
264 fi
265 
266 if [ -n $a ]
267 then
268     echo "-n $a : string length is not zero"
269 else
270     echo "-n $a : string length is zero"
271 fi
272 
273 if [ $a ]
274 then
275     echo "$a : string is not empty"
276 else
277     echo "$a : string is empty"
278 fi
279 
280 
281 文件测试运算符
282 #!/bin/bash
283 
284 file="/mnt/hgfs/work/mycode/shell/1.sh"
285 
286 if [ -r $file ]
287 then
288     echo "File has read access"
289 else
290     echo "File does not have read access"
291 fi
292 
293 if [ -w $file ]
294 then
295     echo "File has write permission"
296 else
297     echo "File does not have write permission"
298 fi
299 
300 if [ -x $file ]
301 then
302     echo "File has execute permission"
303 else
304     echo "File does not has execute permission"
305 fi
306 
307 if [ -f $file ]
308 then
309     echo "File is an ordinary file"
310 else
311     echo "This is a spcial file"
312 fi
313 
314 if [ -d $file ]
315 then
316     echo "File is a directory file"
317 else
318     echo "This is not a directory file"
319 fi
320 
321 if [ -s $file ]
322 then
323     echo "File size is zero"
324 else
325     echo "File size is not zero"
326 fi
327 
328 if [ -e $file ]
329 then
330     echo "File exists"
331 else
332     echo "File does not exist"
333 fi

 

posted @ 2014-08-28 22:35  冷冰若水  阅读(209)  评论(0编辑  收藏  举报