shell

作者: liboxiang | 来源:发表于2019-02-19 20:58 被阅读6次

一、概念

  • Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。
  • shell script是利用shell的功能所写的一个程序
  • Linux的Shell种类
  • Bourne Shell(/usr/bin/sh或/bin/sh)
  • Bourne Again Shell(/bin/bash)
  • C Shell(/usr/bin/csh)
  • K Shell(/usr/bin/ksh)
  • Shell for Root(/sbin/sh)
  • ……

二、bash

教程:https://www.w3cschool.cn/shellbook/

1、知识点

  • #!/bin/bash -v 该行告诉操作系统使用用#! 符号之后面的解释器以及相应的参数来解释该脚本文件,通过分析第一行,我们发现对应的解释器以及参数是 /bin/bash -v,则相当于/bin/bash -v 脚本, -v 是要打印程序的源代码。只有直接运行脚本文件的时候,这一行才会起作用(./脚本),如果使用bash 脚本这种方式运行脚本,则该行不起作用。
  • #!/usr/bin/env bash
    env的作用就是为了找到正确的脚本解释器(这里就是bash),在不同的Linux系统上该解释器可能所处的位置不同。
  • 执行shell脚本,要使用./test.sh。直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的。

2、命令

  • 命令后面不需要分号
  • 变量命名只能使用英文字母,数字和下划线,首个字符不能以数字开头
  • 复制操作时,变量名和等号之间不能有空格
  • 只读设置readonly 变量名
#!/usr/bin/env bash
myname="liboxiang"
readonly myname
echo $myname
myname="lihaoman"
echo myname

执行结果

liboxiang
./test.sh: line 5: myname: readonly variable
myname
  • 删除变量unset 变量名
#!/usr/bin/env bash
myname="liboxiang"
echo $myname
unset myname
myname="lihaoman"
echo myname

执行结果如下

liboxiang
myname
  • 字符串
  • 可以用单引号,也可以用双引号,也可以不用引号
  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
  • 双引号里可以有变量、双引号里可以出现转义字符
  • 字符串拼接
#!/usr/bin/env bash
myname="liboxiang"
yourname="lihaoman"
str1="hello myname $myname"
str2="hello "$myname$yourname
echo $str1
echo $str2

执行结果

hello myname liboxiang
hello liboxianglihaoman
  • 获取字符串长度
#!/usr/bin/env bash
myname="liboxiang"
echo ${#myname}

执行结果
9

  • 提取子字符串,下标由0开始
#!/usr/bin/env bash
myname="liboxiang"
echo ${myname:2:4}

执行结果
boxi

相关文章

  • Shell 学习

    shell 变量 shell 参数传递 shell 数组 shell 运算符 shell echo 命令 prin...

  • Shell 概述

    学习 Shell 主要包括的内容: Shell 脚本入门 Shell 变量 Shell 内置命令 Shell 运算...

  • Shell 教程

    Shell 变量 Shell 传递参数 Shell 数组 Shell 基本运算符 Shell echo 命令 Sh...

  • shell 第一天

    shell编程初识 1.1 shell编程初识 shell的定义 Shell 是命令解释器 Shell 也是...

  • shell 案例

    Shell编程一 Shell防范ARP攻击 Shell编程二 Shell防范DDos攻击 Shell编程三 ...

  • 【生物信息笔记】shell 脚本 (dry-2)

    shell 和 shell script(脚本)区别: shell 和 shell 脚本是两个不同概念,shell...

  • Linux Shell:基础知识和Shell变量

    摘要:Linux,Shell 整理Shell内容要点: Shell基础知识 Shell变量的类型 Shell变量赋...

  • Shell脚本语言一

    一、语法 格式 运行 Shell变量 Shell字符串 Shell数组 Shell注释 Shell传递参数 She...

  • 使用shell脚本

    使用方式 shell 变量 shell 字符串操作 shell 数组 shell 注释 shell 命令行参数 s...

  • vim学习 09——shell命令

    vim学习 09——shell命令 执行 shell 命令 :!shell命令 : 可以执行 shell 命令。 ...

网友评论

      本文标题:shell

      本文链接:https://www.haomeiwen.com/subject/dotynxtx.html