Linux Shell学习简单小结(更新中……)

系统 2176 0

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(函数传参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"
fi

  
Result:

yanggang@barry$ ./param.sh
0
1
2

3

===================================================

if-elif-else-if(函数传参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实现两个文件内容相加(3种解法)

a.txt(10行) b.txt(9行)

a.txt Linux Shell学习简单小结(更新中……) b.txt

解法一

运行结果:

[work]$ sh cal_ab1.sh
1 83
1 77
0 128
24 195
1 130
68 227
5 132
197 233
9 146

--------------------------------------------------------------------------------------

解法二

运行结果:

[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

--------------------------------------------------------------------------------------

解法三

运行结果:

[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

--------------------------------------------------------------------------------------

评析:

解法一,结果不准确,只输出了前9行

解法二,结果正确,但不够简洁

解法三,结果正确,简洁

===================================================

while循环

    # !/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
  

运行结果:

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)由浅入深的学习与示例剖析

shell if语句 示例:文件或目录是否存在或有执行权限

linux实现两个文件内容相加

awk中NR与FNR

百度面试及总结4

shell基础知识

关于RANDOM 的例子

shell函数(传参)的使用

参考推荐:
Linux Shell函数返回值

Linux 之 shell 比较运算符 (推荐)

Linux Shell学习简单小结 (推荐)

SHELL学习笔记----IF条件判断,判断条件


===================================================

Linux Shell学习简单小结(更新中……)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论