shell入门

Shell入门

1.shell【外壳】

  • 是用户与linux共同的桥梁,Shell既是一种命令语言,又是一种程序设计语言。
  • Shell属于内置的脚本,程序开发效率高,批量开发任务
  • linux默认shell是**/bin/bash(重点)**

2.shell种类

  • csh【cshell】 具有C语言风格的Shell,已经被/bin/tcsh所取代

  • ksh

  • tcsh

  • sh 是一个快捷方式,被/bin/bash取代

  • nologin /sbin/nologin

    #usermode -s /sbin/nologin 用户名

  • zsh 目前最庞大的一个shell,有84个内部命令,使用起来比较复杂,一般不用

  • bash 大多数Linux系统默认的shell

3.编写规范

代码规范:

**#!/bin/bash**	指定解释器的路径【告知系统当前这个脚本要使用的shell解释器】,不写也ok

Shell相关指令

文件命名规范:

文件名.sh

4.流程

  1. 创建.sh文件 touch/vim
  2. 编写shell代码
  3. 执行shell脚本 脚本得有执行权限

案例:创建test.sh,实现第一个shell脚本程序,输出helloworld

输出命令:echo 内容
在这里插入图片描述

注意:

  • 输出的内容如果包含字母和符号(不包含变量),则需要用引号包括起来。如果是纯数字可以包也可以不包。
  • 代码如果分两行写,语句尾部不用加" ;"号

执行二进制文件时,即使是当前路径下也要加上./,或者写绝对路径。否则系统会去环境变量PATH里面找。

执行方式一:
在这里插入图片描述
执行方式二:/bin/bash 脚本路径

5.shell进阶(重点)

变量

注意:

  • 使用变量需要在变量名前加上$符号

    eg: class_Name=“ruan”

      echo $class_Name
    
  • 变量后边等号的左右不能有空格

  • 命名只能用英文字母,数字,下划线,首个字符不能以数字开头

  • 中间不能有空格,可以用下划线"_"

  • 不能用bash里的关键词

  • 不能使用标点符号

  • esc键下方【`】,当需要将指令赋值给变量,或直接输出时需要
    在这里插入图片描述

  • 双引号能够识别变量【同样能实现转义】,单引号不能

    eg:echo “$class_Name" >>ruan

    echo   '$class_Name'    >>$class_Name
    

只读变量

在变量前只加上readonly 变量名

eg:x=”abc“

readonly x

接受用户输入

语法:read -p 提示信息 变量名

删除变量

语法:unset 变量

条件判断

语法:

if [ condition ]

then

commend1

commend2

elif condition2

then

commend3

else

commend

fi

运算符【算数运算符、关系运算符、逻辑运算符、字符串运算符、文件测试运算符】

  1. 算数运算符

    expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

    反引号`【esc下面】
    在这里插入图片描述
    注意:

    • 表达式和运算符之间一定要有空格
    • =号两边不能有空格
    • *****号为通配符,在进行乘法运算时要加上\ *****进行转义
      在这里插入图片描述
  2. 关系运算符

    -eq:equal【=】

    -ne:not equal【!=】

    -gt:great than【>】

    -lt:less than【<】

    -ge:great than or equal【>=】

    -le:less than or equal【<=】

  3. 逻辑运算符

    !:非

    -o:or,或运算

    -a:and,与运算

  4. 字符串运算符

    =:判断字符串是否相等

    !=:判断字符串是否相等

    -z:检测字符串长度是否为0 为0返回true if [ -z $a ]

    -n:检测字符串长度是否为0 为0返回false if [ -n “$a” ]

    str:检测字符串是否为空,不为空返回true

  5. 文件测试运算符

    -b file:检测文件是否是块设备文件,是返回ture

    -d file:检测文件是否是目录,是返回true

    -f file:判断文件是否是是普通文件。

    -r file:检测文件是否可读。

    -w file:检测文件是否可写,是返回true。

    -x file:检测文件是否可执行,是返回true。

    -e file:检测文件(包括目录)是否存在,是返回true。

shell接受参数

#./test.sh a b c

可以用$1 $2 $3 来接受

$0代表执行的脚本文件

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值