if-fi
Result:
(沒有readme文件)
[work shell]$ sh if_e.sh
add readme ...
[workshell]$ sh if_e.sh
del readme ...
add readme ...
===================================================
if-else-fi
Result:
[work shell]$ sh if.sh
press y hello
y
hello
[work shell]$ sh if.sh
press y hello
n
bye..
===================================================
if-elif-else-if(函數(shù)傳參1)
# !/bin/sh type=1 # 1, 2, 3(a,abc,123) function getVal(){ echo "$1" } if [ "$type" == "1" ]; then for((i=0;i<4;i++)) do eval getVal $i done elif [ "$type" == "2" ]; then echo "type" else echo "none" fiResult:
yanggang@barry$ ./param.sh
0
1
2
3
===================================================
if-elif-else-if(函數(shù)傳參2)
# !/bin/sh #type=1 # 1, 2, 3(a,abc,123) function getVal(){ echo "$1" } function inputVal(){ if [ "$1" == "1" ]; then for((i=0;i<4;i++)) do eval getVal $i done elif [ "$1" == "2" ]; then echo "type" else echo "none" fi } inputVal 1 # 1 is a param
Result:
yanggang@barry$ ./param.sh
0
1
2
3
===================================================
case 條件
mysql
#!/bin/bash case "$1" in start) echo "mysql start..." /etc/init.d/mysqld start ;; stop) echo "mysql stop..." /etc/init.d/mysqld stop ;; restart) echo "mysql restart..." /etc/init.d/mysqld stop /etc/init.d/mysqld start ;; esac exit 0
httpd (apache)
#!/bin/bash case "$1" in start) echo "apache start..." /etc/init.d/httpd start ;; stop) echo "apache stop..." /etc/init.d/httpd stop ;; restart) echo "apache restart..." /etc/init.d/httpd restart ;; status) echo "apache status" /etc/init.d/httpd status ;; esac exit 0
===================================================
awk
Result:
[work]$ sh cal_lines.sh
ls: *.h: No such file or directory
91 test_performance_server.cpp
178 test_performance_ubclient1.cpp
230 test_performance_ubclient2_common_async.cpp
204 test_performance_ubclient2_common_block.cpp
206 test_performance_ubclient2_common_nonblock.cpp
191 test_performance_ubclient2_common_single_block.cpp
193 test_performance_ubclient2_common_single_nonblock.cpp
237 test_performance_ubclient2_nshead_async.cpp
220 test_performance_ubclient2_nshead_block.cpp
218 test_performance_ubclient2_nshead_nonblock.cpp
192 test_performance_ubclient2_nshead_single_block.cpp
192 test_performance_ubclient2_nshead_single_nonblock.cpp
2352
===================================================
linux實(shí)現(xiàn)兩個(gè)文件內(nèi)容相加(3種解法)
a.txt(10行) b.txt(9行)
解法一
運(yùn)行結(jié)果:
[work]$
sh cal_ab1.sh
1 83
1 77
0 128
24 195
1 130
68 227
5 132
197 233
9 146
--------------------------------------------------------------------------------------
解法二
運(yùn)行結(jié)果:
[work]$
sh cal_ab2.sh
1 83
1 77
0 128
24 195
1 130
68 227
5 132
197 233
9 146
0 8
--------------------------------------------------------------------------------------
解法三
運(yùn)行結(jié)果:
[work]$
sh cal_ab3.sh
1 83
1 77
0 128
24 195
1 130
68 227
5 132
197 233
9 146
0 8
--------------------------------------------------------------------------------------
評(píng)析:
解法一,結(jié)果不準(zhǔn)確,只輸出了前9行
解法二,結(jié)果正確,但不夠簡(jiǎn)潔
解法三,結(jié)果正確,簡(jiǎn)潔
===================================================
while循環(huán)
# !/bin/sh TOP_NUM=800 index=0 function url_down(){ while [ $index -le $TOP_NUM ] do echo $index index=`expr $index + 24` done } url_down
運(yùn)行結(jié)果:
yanggang@barry$
./tmp.sh
0
24
48
72
96
120
144
168
192
216
240
264
288
312
336
360
384
408
432
456
480
504
528
552
576
600
624
648
672
696
720
744
768
792
-------------------------------------------------------------------------------
參考拓展:
Linux Make(Makefile)由淺入深的學(xué)習(xí)與示例剖析
shell if語(yǔ)句 示例:文件或目錄是否存在或有執(zhí)行權(quán)限
linux實(shí)現(xiàn)兩個(gè)文件內(nèi)容相加
參考推薦:
Linux Shell函數(shù)返回值
Linux Shell學(xué)習(xí)簡(jiǎn)單小結(jié)
(推薦)
SHELL學(xué)習(xí)筆記----IF條件判斷,判斷條件
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
