Linux Xshell 基本语法

2020-06-07  本文已影响0人  星云春风

Linux基本语法

  1. 编写一个脚本
    vim test.sh
    #!/bin/bash
    #上面的是解释器  还有一种sh解释器  #!/bin/sh  
    A=10
    #定义一个变量
    echo $A
    #输出变量
    
    
    2.执行脚本,三种方式
    1. /bin/bash test.sh
    2. chmod 777 test.sh
     ./test.sh
    3. sh test.sh
    
    3. 查看上一个命令是否是成功的
     echo $?          # 0代表是成功的
    
    4.查看磁盘的使用量
    df -h
    
    5.脚本里获取当前路径、名称以及参数
    #!/bin/bash
    echo "当前的路径是:$PWD"
    echo "当前的路径是:`pwd`"
                                
    echo "当前shell名称是:$0"
    echo "参数一是:$1"
    echo "参数二是:$2"
    
    #使用的时候可以传参数 sh test.sh 888 999 
    #这时候会把888  999赋值给$1  $2
    
    #!/bin/bash
    
    echo "----------------------------------------"
    age=99
    
    echo age=$age
    echo pwd=$PWD
    
    ######################
    echo "当前shell的脚本名称是:$0"
    echo "参数一是:$1"
    echo "参数二是:$2"
    
    ########################
    echo "是否执行成功:$?"
    echo "外界传递的参数是:$*"
    echo "外界传递参数的数量:$#"
    
    #上面脚本运行的结果:
    sh test02.sh 999 888
    ----------------------------------------
    age=99
    pwd=/root/xiachenhui/studyNdk/study03
    当前shell的脚本名称是:test02.sh
    参数一是:999
    参数二是:888
    是否执行成功:0
    外界传递的参数是:999 888
    外界传递参数的数量:2
    
    
    6. 函数操作
    seq 1 20 会输出1-20的值,利用seq可以进行for循环
    expr 1000 + 100  #这个是加法
    
    
    #!/bin/bash
    
    # 循环遍历
    for i in `seq 1 20`
    do
    #这中间就是类似于括号
            echo "循环遍历的数字是:$i"
    done
    
    
    #累加的功能 必须使用双括号,中间的各种空格需要注意
    a=0
    for((f=0;f<=100;f++))
    do
            a=`expr $f + $a`
    done
    
    echo "累加1到100的值是:$a"
    
    
    7. 查找和压缩文件
    查找所有的.txt文件      find . -name "*.txt"
    把所有的文件打包压缩成all.taz文件 tar czf all.taz *
    
    #!/bin/bash
    
    
    #查找当前目录下的所有.txt文件 进行打包操作
    
    for i in `find ./ -name "*.txt"`
    do
            tar -czf txtAll.tgz $i
    done
    
    
    8. while循环
    #!/bin/bash
    
    #while 循环解释器
    
    i=0
    while((i<=100))
    do
            i=`expr $i + 1`
            echo "遍历i的值是:$i"
    done
    
    
    
    9. 读取文件
    #!/bin/bash
    
    
    #读文件,循环一直等待。。。输入文字,按回车即可
    while read AA
    do
            echo -----------$AA
    done
    ~                                                                                 
    ~       
    
    10. if操作
    #!/bin/bash
    
    NUM1=100
    NUM2=200
    # then 代表出发的点
    if(($NUM1>$NUM2)); then
            echo "OK............"
    else
            echo "NOT OK........"
    #结束
    fi
    
    
    
    #!/bin/bash
    
    #判断目录是否存在,如果不存在就创建,注意空格问题
    
    if [ ! -d `pwd`/chenhuidir ]; then
            mkdir -p `pwd`/chenhuidir
    else
            echo "chenhuidir 目录已经存在....."
    fi
    ~    
    
    
    12. 字符串操作
    #!/bin/bash
    # 字符串
    var1="abcde"
    var2="zzzzzzzzz"
    
    #判断是否相等,只有一个=号
    if [ $var1 = $var2 ];then
            echo "var1等于var2"
    else
            echo "var1不等于var2"
    fi
    
    
    # 字符串是否为空
    if [ $var1 ]
    then
            echo "var1不为空,值是:$var1"
    else
            echo "var1为空"
    fi
       
    
    13. Linux 万物皆文件之重定向
    cat 0< file01.txt  把file01.txt的内容重定向到屏幕文件,0代表shell的界面文件。
    
    14. 函数
    #!/bin/bash
    
    function test01(){
            echo "method test01 run...."
    }
    #调用上面的函数
    test01
    
    #变量操作
    function test02(){
            var1="xiachenhui"
            var2="chenhui"
            echo $var1
            echo $var2
            echo "method test02 run...."
    }
    test02
    
    #给函数传参
    function test03(){
            echo "method test03 run...参数是:`expr $1`"
    }
    test03 666
    
    #给函数传参2
    function test04(){
            echo "method test04 run...参数是:`expr $1`"
            echo $1
    }
    test04 777
    
    
上一篇下一篇

猜你喜欢

热点阅读