Linux基础知识——shell

目录

基础知识:

一、编写shell的基本要素

二、shell文件运行的注意

编程语法:

一、shell变量

        1、自定义变量

        2、环境变量

        3、预设变量

二、条件测量

        test 命令 或者 [ 命令 ]

        判读文件权限

        时间戳比较

        字符串比较

        数字比较

        复合判断

执行结构

        选择结构

        if控制语句

        case控制语句

        循环结构

        for控制语句

        while控制语句

函数


基础知识:

一、编写shell的基本要素

        1、shell文件要以#!/bin/bash开头,表示使用/bin/bash解释shell命令

        2、如果运行多条命令时,需要使用隔开

        3、#表示注释

二、shell文件运行的注意

        1、要修改文件的权限使用chmod

                chmod +x 文件名     或者    chmod 0777 文件名        将文件修改为可执行

        2、执行shell的三种方法

                a、./shell文件                使用文件内指定的解释器来解释shell命令。重启一个shell脚本

                b、bash shell文件         使用bash解释器来解释shell命令。重启一个shell脚本

                c、. shell文件                在当前shell中运行该脚本文件

编程语法:

一、shell变量

        1、自定义变量

        注意事项:

                定义变量时                                等号(=)两边不能有空格

                引用变量时                                使用$变量名

                清除变量时                                使用unset 变量名

                从键盘中获取输入内容              使用 read 变量名

                只读变量                                    使用readonly 变量名

                将类型转换为int型                      declare -i 变量名

        2、环境变量

        使用export设置,在terminal中键入env可以查看环境变量,要永久修改环境变量可以在家目录中的.bashrc文件中添加,然后运行source ~/.bashrc 或者重启./bashrc文件

        3、预设变量

        $@/$*                        传输内容

        $#                               传参数量     

        $1、$2、...$9             形参,超过10的用{}

        $?                               命令返回状态,0表示正常

        $0                                查看进程名

        $$                                查看进程号

注意事项:“”、‘’、``、\、()、{}的用法

        “” 变量会被解释

        ‘’变量会被解释为字符串

        ``当作命令解释

        \转义字符        echo -e \t \n等

        ()不影响当前shell中的变量

        {}会影响当前shell中的变量

二、条件测量

        test 命令 或者 [ 命令 ]

        -e        文件是否存在

        -s        文件是否为非空

        判读文件权限

        -r        文件是否有读权限

        -w        文件是否有写权限

        -x        文件是否有可执行权限

        时间戳比较

        -nt        前一个文件是否比后一个新

        -ot        前一个文件是否比后一个旧

        -ef        判断硬链接

        字符串比较

        =        字符串相等

        !=        字符串有差异

        -z        字符串长度是否为0

        -n        字符串长度是否不为0

        数字比较

        -eq        值相等

        -ne        不相等

        -gt        大于

        -ge        大于等于

        -lt        小于

        -le        小于等于

        复合判断

        &&                多个条件同时满足为真

        ||                   多个条件中有一个为真则为真

        -a                 同一个条件满足多种要求        

        -o                 同一个条件满足多个条件中的一个

        !                 取反

执行结构

        选择结构

        if控制语句

if [ 条件1 ];then #then与if在同一行时,用;隔开;不在同一行则不用;
    命令1;
    命令2;
elif [ 条件2 ];then #then与if在同一行时,用;隔开;不在同一行则不用;
    命令3;
    命令4;
else
    命令5;
    命令6;    
fi

        case控制语句

case $变量名 in 
    值1)
        命令1;
        ;;
    值2)
        命令2;
        ;;
    值3)
        命令3;
        ;;
    值4)
        命令4;
        ;;
    *)
        exit 1 或者 ;;
esac

        循环结构

        for控制语句

#第一种
for(( 初始值;判断条件;执行步阶 ))
do
    命令1;
    命令2;
done

#第二种
for 变量名 in 变量值
do
    命令;
done

        while控制语句

#第一种   条件成立运行内容
while [ 条件 ]
do
    命令
done

#第二种    条件不成立运行内容
until [ 条件 ]
do
    命令
done

函数

#格式一
函数名() 
{

}

#格式二
function 函数名()
{

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值