• Shell入门1


    `


    Shell概述

    • Shell是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核。
      Shell还是一个功能相当强大的编程语言,易编写、易调试、灵活性强。 Alt

    `

    一、Shell脚本入门

    1.Linux提供的Shell解释器

    /etc/shells
    /bin/sh
    /bin/bash
    /usr/bin/sh
    /usr/bin/bash
    /bin/tcsh
    /bin/csh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    bash和sh的关系↓

    grep bash -rwxr-xr-x. 1 root root 941880 511 2016 bash lrwxrwxrwx. 1 root root	4 527 2017 sh -> bash
    
    • 1

    2.脚本格式

    脚本以*#!/bin/bash*开头
    是用来指定解析器的

    例子说明

    需求:创建一个Shell 脚本,输出 helloworld

    $ touch helloworld.sh 
    $ vim helloworld.sh
    
    • 1
    • 2
    helloworld.sh中内容如下:
    
    • 1
    #!/bin/bash echo "helloworld"
    
    • 1
    1. 脚本的常用执行方式第一种:采用 bash 或 sh+脚本的相对路径或绝对路径(不用赋予脚本+x 权限) sh+脚本的相对路径
    $ sh ./helloworld.sh 
    
    • 1
    sh+脚本的绝对路径
    
    • 1
    $ sh /home/atguigu/shells/helloworld.sh 
    
    • 1
    bash+脚本的相对路径
    
    • 1
    $ bash ./helloworld.sh 
    
    • 1
    bash+脚本的绝对路径
    
    • 1
    $ bash /home/atguigu/shells/helloworld.sh 
    
    • 1
    1. 采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x)
    • 首先要赋予 helloworld.sh 脚本的+x 权限
    • 执行脚本相对路径或绝对路径
    $ chmod +x helloworld.sh
    $ ./helloworld.sh 
    $ /home/atguigu/shells/helloworld.sh 
    
    • 1
    • 2
    • 3
    注意:第一种执行方法,本质是 bash 解析器帮你执行脚本,所以脚本本身不需要执行权限。第二种执行方法,本质是脚本需要自己执行,所以需要执行权限。
    
    • 1

    二、系统预定义变量

    1.常用系统变量

    如下:

    $HOME$PWD$SHELL$USER
    • 1

    查看系统变量的值:

    $ echo $HOME
    
    • 1

    显示当前Shell中所有变量:set

    $ set
    BASH=/bin/bash
    BASH_ALIASES=()
    BASH_ARGC=()
    BASH_ARGV=()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.自定义变量

    1、基本语法

    (1) 定义变量:变量名=变量值,注意,=号前后不能有空格
    (2) 撤销变量:unset 变量名
    (3) 声明静态变量:readonly 变量,注意:不能 unset

    2、变量定义规则

    (1) 变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。
    (2) 等号两侧不能有空格
    (3) 在 bash 中,变量默认类型都是字符串类型,无法直接进行数值运算。
    (4) 变量的值如果有空格,需要使用双引号或单引号括起来。

    代码如下(示例):

    #定义变量A
    $ A=1024
    #撤销变量A
    $ unset A
    #声明静态的变量 B=2,不能撤销
    $ readonly B=2
    #在 bash 中,变量默认类型都是字符串类型,无法直接进行数值运算
    $ C=1+2
    #变量的值如果有空格,需要使用双引号或单引号括起来
    $ D="I love banzhang"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    Alpine.js 精简重
    怎样使用pdf转换器?一篇文章教会你
    爬虫 day 02 bs4的作用
    1003 - 编程求1+3+5+...+n
    HttpClient的setConnectionRequestTimeout、setConnectTimeout、setSocketTimeout设置注意事项
    设计模式-单例模式
    Git,Gitee,GitHub使用总结(内含命令行详细操作)
    FPGA与人工智能泛谈-01
    微信小程序中发送网络请求
    《热题100》字符串、双指针、贪心算法篇
  • 原文地址:https://blog.csdn.net/m0_56969616/article/details/125491238