shell 常用知识点

1、Shell 程序中用“ $var ”的形式来引用名为 var 的变量的值。
    如:# echo $PATH 

2、Shell  预定义变量
    预定义变量与环境变量 不同的是, 用户只能根据 Shell 的定义来使用这些变量
    常见的有: 
        $#    是传递给该脚本的参数个数 
        $?    是最后命令的退出状态,即前一命令返回的状态值 ,0表示没有错误,其它表示有错误
        $0    存储 shell程序自己的名称 (脚本本身的名称)
        $1    是传递给该脚本的第一个参数
        $[1-n]    是传递给该脚本的第1-n个参数
        $*    是以一个单字符串显示所有向脚本传递的参数);以"$1 $2 … $n"的形式输出所有参数;(是一个字符串)
        $$    是shell脚本运行当前的进程号( pid) 
        $!    存储上一个后台执行命令的进程号( pid)
        $@    是传递给脚本的所有参数的列表;以"$1" "$2" … "$n" 的形式输出所有参数(是一个数组)
3、 Shell  字符串比较
    =     比较字符串是否相同,相同为真。 
    !=     比较字符串是否不同,不同为真。 
    -n     判断字符串的长度是否大于 0,大于 0 为真。 
    -z     判断字符串的长度是否等于 0,等于 0 为真。 

    例: 
    # test “abc” = “abc” //等号两边要有空格 
    # echo $?        //值为 0 表示前一命令结果为真,为 1 表示假 
    # str= “abc” # test $str = “ab”
    # echo $? # test –n str 
    # echo $? 

4、Shell  数字比较 
    -eq    相等 
    -ne    不等于 
    -ge    大于等于 
    -le    小于等于 
    -gt    大于 
    -lt    小于 

    例:
    # test 2 -eq 3 
    # echo $? 
    # num=3 # test $num –gt 2 
    # echo $? 

5、 Shell   逻辑测试
    -a    与 
    -o     或 
    !     非 
    
    例:
    # test -f file1 -a -w file1     file1 是文件 并且 file1 可写。

6、Shell   文件测试 
    -e    如果文件存在,则为真
    -r     如果文件存在且可读,则为真
    -f     如果文件存在且为普通文件,则为真
    -c    如果文件存在且为字符型特殊文件,则为真
    -b    如果文件存在且为块特殊文件,则为真
    -d     如果文件存在且为目录,则为真
    -L     如果文件存在且为符号连接,则为真
    -r    如果文件存在且可读,则为真
    -s     如果文件存在且长度非 0,则为真
    -w     如果文件存在且可写,则为真
     -x     如果文件存在且可执行,则为真
     !     测试条件的否定

    用法:
    if[ -d /filename ]     判断filename是否为目录

7、Shell   条件判断
    if(条件)  then
        满足条件结果
    else    不满足条件结果
    
    fi     ---判断语句结束标志

注意:中括号 [] 与其中间的代码应该有空格隔开

    例如:
    从键盘输入两个数,按由小到大的顺序输出。
        #! /bin/bash
        # filename: testFile
        echo "输入两个数字:"       ----打印
        read a b                            ----从键盘中读取两个数字
        if[ a -lt b ]                         ----条件 a<b ‘[’与‘a’  、‘b’与‘] ’ 之间要有空格
             then   echo  $a   $b     ----读取变量值
        else   echo $b   $a
        fi                                     ----结束

    # .testFile          ---执行文件

8、 Shell  循环控制 
    while(条件) 
          do
               条件满足执行语句
    done    ----循环结束标志

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值