第一点:Shell介绍

 Shell编译 --掌握基本Shell使用,修改和应用Shell

第二点:什么是Shell

 脚本语言,编译库(应用技术)

第三点:Shell环境

Mac环境支持Shell开发
Shell种类非常多
Bash所有的操作系统默认脚本语言
种类:bash,C Shell,K Shell等

第四点:进入Shell语言基础学习

1、第一个Shell程序
1.1 创建Shell文件命令:touch hello.sh
1.2 编写Shell程序定义文件声明#!/bin/bashecho "Hello word"#!:表示约定标记,他会告诉系统这个脚本需要什么样子的解释器来执行,即是一种脚本体现echo:表示命令用于输出文本信息
1.3 修改文件权限查看每一部分权限  命令 ls -l hello.sh修改文件权限  chmod +x ./hello.sh
1.4 执行Shell脚本文件命令: ./hello.sh2、Shell脚本语法 注释“#” 表示注释
注意:在Shell脚本中,没有多行注释,只有单行注释3、Shell脚本语言-变量
3.1 变量定义-注意事项
注意二:变量名和等号不能够有空格(和我们的一般语言不一样)
注意三:变量名首字母必须是字母或者下划线
注意四:变量名中间不允许有空格
注意五:不允许使用标点符号
3.2 只读变量关键字 :readonly(只读,不能够修改)
3.3 删除变量语法:unset案例:unset 变量名
3.4 变量类型3.4.1 类型一:本地变量作用域整个bash进程可以使用语法:name="smile2018"3.4.2 类型二:局部变量作用域:当前代码段(修饰符:local)3.4.3 类型三:环境变量作用域:当前shell进程以及子进程语法:export name=“hello”3.4.4类型四位置变量name=${0}age=${1}sex=${2}echo "姓名:${name} 年龄:${age} 性别:${sex}"执行脚本: ./hello.sh tom 23 男执行结果:  姓名:./hello.sh 年龄:tom 性别:23${0}表示脚本文件名称 参数从1开始3.4.5 特殊变量${0}-特殊变量-文件名称${?} 表示返回上一个命令执行状态返回值0:表示执行成功1:程序执行结果2:表示程序状态返回码(0-255)系统预留错误(1,2,127)echo ${0}echo ${?}$# -参数个数$* -参数列表$@ -参数列表$$ -后去当前shell进行ID$! -执行上一个指令PID$*和$@区别$* 参数列表:将所有的参数组成一个字符串$@ 参数列表:字符串分开4、Shell脚本语言-字符串
4.1字符串-单引号
4.2字符串-双引号
4.3字符串-拼接
脚本代码name="Andy"age=100sex="男"info="${name}${age}${sex}"echo ${info}
执行结果Andy100男脚本代码name="Andy"age=100sex="男"info="姓名:"${name}" 年龄:"${age}" 性别:${sex}"echo ${info}
执行结果姓名:Andy 年龄:100 性别:男4.4字符串-获取字符串长度语法结构:${#变量名}脚本代码name="Andy"echo ${#name}脚本结果4
4.5 字符串-截取语法:${变量名:开始位置:截取长度}脚本代码案例1:从字符串第四个开始截取,截取3个name="my name is XQ"result=${name:3:3}echo ${result}案例2:从字符串第5个开始截取,到最后一个结束方式1:name="my name is XQ"length=${#name}result=${name:4:length-1}echo ${result}方式2:name="my name is XQ"result=${name:4}echo ${result}4.6字符串-删除语法一:$(变量名#删除字符串 正则表达式)作用:从字符串开头(左边),开始匹配要删除的字符串案例1:name="my name is XQ"result=${name#XQ}echo ${result}原因:匹配不到案例2:name="my name is XQ"result=${name#my}echo ${result}案例3:查找指定字符第一个,并且删除前面所有的字符(包含自己)name="my name is XQ"result=${name#*X}echo ${result}语法二: $(变量名##删除字符串 正则表达式)作用:从字符串尾(右边)开始匹配要删除字符串案例一name="my name is XQ"result=${name##*X}echo ${result}总结:语法1和语法2,都是从左边删除到右边,查找方向不一样语法三:${变量名%删除字符串 正则表达式}从字符串结尾开始匹配,删除匹配的字符串案例1:查找第一个字符(匹配第一个)代码一:name="my name is XQ"result=${name%Q}echo ${result}案例2:查找指定字符第一个,并且删除前面所有字符(包含自己)name="my name is XQ"result=${name%m*}echo ${result}语法四:$(变量名%%删除字符串 正则表达式)案例1:查找指定字符最后一个,并且删除前面所有的字符(包含自己)name="my name is XQ"result=${name%%m*}echo ${result}总结:从左边删除到右边#-表示查询方向从左到右##-表示查询方向从右到左从右边删除到左边%-表示查询方向从右到左%%-表示查询方向从左到右

Shell脚本语言基础一相关推荐

  1. SHELL/SSH基础知识(入门篇)-包含 shell 脚本语言的基本用法、 shell 脚本语言的基本用法、流程控制、函数 function、其它脚本相关工具、数组 array(欢迎留言交流)

    目录 1 shell 脚本语言的基本用法 1.1 shell 脚本注释规范 1.1.1 shell 脚本注释规范 1.1.2 执行(5种) 1.1.3 在远程主机运行本地脚本 1.1.4 检查shel ...

  2. Linux Shell脚本编程基础

    2 Linux Shell脚本编程基础 发表于: Linux, Shell, UNIX, 资源分享 | 作者: 谋万世全局者 标签: Linux,Shell,编程基础,脚本 本文作者:Leal 授权许 ...

  3. Linux shell脚本语言必看书籍推荐

    以下书籍都是现在业内主流的Linux shell语言好书,同步收录在顶书,通过下面网址进入,实时读书: 顶书-提升IT技术和认知​i-book.top Linux Shell脚本攻略(第2版) 本书结 ...

  4. SHELL 脚本编程基础

    目录 前言 一. shell 概述 1.1 shell 和 shell 脚本 1.1.1 什么是shell 1.1.2 shell的作用 1.1.3 shell脚本是什么 1.1.4 shell脚本能 ...

  5. VBScript脚本语言基础

    VBScript脚本语言基础 2.1 vbs脚本语言简介 2.2 第一个vbs脚本语言–hello world 打开记事本程序,在编辑窗口填写,保存文件的扩展名为:.vbs 对话框: 输入框 inpu ...

  6. Shell脚本语言笔记

    Shell脚本语言笔记 一.shell是什么? 二.Shell 是一种脚本语言 1.定义变量 2.单引号和双引号的区别: 3.将命令的结果赋值给变量,常见的有以下两种方式: 4.只读变量 5.删除变量 ...

  7. php和shell脚本语言,将PHP作为Shell脚本语言使用_PHP教程

    #!/usr/local/bin/php -q 上面的代码在运行的时候需要两个参数,分别是姓和名,比如这样子运行: [dbrogdon@artemis dbrogdon]$ scriptname.ph ...

  8. Linux基础篇--shell脚本编程基础

    Linux基础篇–shell脚本编程基础 本章内容概要  编程基础  脚本基本格式  变量  运算  条件测试  配置用户环境 7.1 编程基础 程序:指令+数据 程序编程风格:   过程式:以指令为 ...

  9. shell脚本的基础知识

    shell脚本的基础知识 1 什么是shell 2 shell脚本的意义 3 如何创建shell脚本 4 如何执行shell脚本 5如何对脚本脚本进行调试 6 脚本练习 1 什么是shell shel ...

最新文章

  1. mysql合并查询结果及为表和字段取别名
  2. 单片机c语言编程教学大纲,《单片机C语言编程》教学大纲
  3. java 热替换_class卸载、热替换和Tomcat的热部署的分析
  4. 规范化的递归转换成非递归
  5. 克隆 Linux系统盘,linux系统克隆系统盘
  6. 用matlab求残余误差,matlab在测量误差分析中的应用
  7. springcloud 文件服务器,SpringCloud传文件
  8. 【CentOS7】【docker】常用操作命令
  9. P4047-[JSOI2010]部落划分【最小生成树】
  10. 51单片机的LED的位定义(通俗易懂)
  11. 系统服务器地云盘上,系统服务器地云盘上
  12. [转]真正了解CSS3背景下的@font face规则
  13. Unity移动平台相关(一)
  14. 开启samba服务的设置步骤
  15. zookeeper应用实战之分布式锁
  16. java poi读取excel数据_java 使用POI读取excel数据
  17. 实时流媒体视频监控系统——的流媒体客户端——视频解码处理
  18. bad transparency mask. 解决办法
  19. 电商网站爬虫案例(1)
  20. kalman简单例子——初始化参数对kalman性能的影响

热门文章

  1. 使用ldapsearch进行数据查询
  2. telnetd源代码分析之如何调试源代码?
  3. TP5.1接入支付宝实现网页/APP支付完整请求回调流程(沙箱环境)
  4. 学了一天java,我总结了这些知识点
  5. 如何成为杰出的程序员?Java虚拟机学习集锦是我攒来的,吊打面试官
  6. 那些年我们用过的流计算框架
  7. S32K144(1)新建裸机项目以及烧录调试工程
  8. 国美放言把电脑城全部洗掉
  9. 看了你就知道为什么iTunes要对电脑授权了
  10. 吃鸡捡错枪怎么突突突别人?Python用数据告诉你「和平精英」啥枪最合适!