Linux笔记丨shell脚本零基础入门,基础操作

简介: Linux笔记丨shell脚本零基础入门,基础操作

摘要:shell是用户使用Linux的桥梁,本文学习shell脚本的入门使用方法,包括变量、数组、传递参数等内容。

1运行shell脚本

    #!/bin/bash
    echo "hello word"

    上面是常见代码样式,“#!”的意思是告诉系统使用哪个脚本执行器,echo向窗口输出文本。

      chmod +x ./test.sh
      ./test.sh #执行脚本
        /bin/sh test.sh
        #直接运行脚本,无需“#!”


        2shell变量

          bianliangming="xxxx"
          ##定义变量,注意以下规则
          #等号两旁不加空格,变量名不加$
          #首字符不能数字
          #不能使用标点,可以用下划线
          echo ${bianliangming}
          #使用变量时加$
          #如上方法大括号可加可不加,帮助识别变量界限
          readonly bianliangming
          #设置成只读变量,不可修改
          unset 变量名
          #删除变


          3shell字符串

            bianliang="abc"
            bianliang_1='abc'

            字符串可以用单引号,也可以用双引号,单引号是原样输出,里面不能有变量。双引号内可以有变量,可以出现转义字符。

              string="abcdefg"
              echo $string #获取字符长度
              echo ${string:1:4} #提取,从第2个字符起截取4个字符,第一个字符是第0个
              echo `expr index "${string}" a` 
              #查找a字符在变量的哪个位置,`是反引号,在键盘esc键下面那个


              4shell数组

                数组名=(1 2 3 4)  #定义数组
                数组名[1]=值 #定义第一个分量

                shell数组下标由0开始编号,用括号表示数组,元素用空格分隔。可以单独定义数组的各个分量,下标的范围没有限制。

                  ${数组名[下标]} #读取数组的元素值
                  echo ${数组名[@]} #显示出所有元素
                  length=${数组名[@]} #获取元素个数
                  length=${数组名[n]} #获取第n个元素的长度


                  5shell传递参数

                    #特殊字符
                    $# #传递的参数的个数
                    $* #以单个字符串传递参数
                    $@ #传递所有参数
                    $$ #当前进程号ID
                    $! #显示最后一个进程号
                    $- #显示shell使用的当前选项
                    $? #显示最后命令的状态,返回0为正常

                    执行shell脚本时,传递参数的格式为:$n,n为数字,$*和$@都是引用多有参数,如果有双引号存在,$@会分别传递三个参数,而另外一个只会传递一个参数。


                    今日随笔:Linux基础部分内容已经快更新完了,之后笔者抽时间补充一下学习过程中漏掉的知识点,如果笔记中存在错误请后台交流。

                    相关实践学习
                    CentOS 7迁移Anolis OS 7
                    龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
                    相关文章
                    |
                    4天前
                    |
                    Shell Linux
                    Linux shell编程学习笔记30:打造彩色的选项菜单
                    Linux shell编程学习笔记30:打造彩色的选项菜单
                    |
                    2天前
                    |
                    监控 Unix Shell
                    shell脚本编程学习
                    shell脚本编程
                    22 12
                    |
                    4天前
                    |
                    Shell Linux
                    Linux shell编程学习笔记82:w命令——一览无余
                    Linux shell编程学习笔记82:w命令——一览无余
                    |
                    5天前
                    |
                    Shell
                    shell脚本变量 $name ${name}啥区别
                    shell脚本变量 $name ${name}啥区别
                    |
                    8天前
                    |
                    人工智能 监控 Shell
                    常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
                    这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
                    25 2
                    |
                    27天前
                    |
                    网络协议 关系型数据库 MySQL
                    Shell 脚本案例
                    Shell 脚本案例
                    36 8
                    |
                    25天前
                    |
                    Linux Shell Windows
                    linux基础操作
                    本文介绍了Linux命令的基础操作,包括查看内核版本、主机名、IP/MAC地址的方法,以及命令符的含义。同时,对比了Linux与Windows的区别,如路径表示法和文件执行方式的不同。文中还详细说明了如何查看CPU型号/频率及内存大小,切换目录、重启系统、查看历史命令等基本操作,并介绍了使用`date`命令修改和查看时间、使用`du`命令统计硬盘空间大小,以及创建软链接和硬链接的方法。最后,提供了获取命令帮助的两种方式。
                    |
                    28天前
                    |
                    Shell Linux 开发工具
                    linux shell 脚本调试技巧
                    【9月更文挑战第3天】在Linux中调试shell脚本可采用多种技巧:使用`-x`选项显示每行命令及变量扩展情况;通过`read`或`trap`设置断点;利用`echo`检查变量值,`set`显示所有变量;检查退出状态码 `$?` 进行错误处理;使用`bashdb`等调试工具实现更复杂调试功能。
                    |
                    3天前
                    |
                    Linux Python Perl
                    Linux命令删除文件里的字符串
                    Linux命令删除文件里的字符串
                    15 7
                    |
                    6天前
                    |
                    Linux Perl
                    Linux之sed命令
                    Linux之sed命令
                    下一篇
                    无影云桌面