shell备忘录

前端之家收集整理的这篇文章主要介绍了shell备忘录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

shell 主要指 shell 脚本,通常有两种方式运行:

shell 运行方式

1.作为可执行程序
保存为 helloworld.sh,并 cd 到相应目录:

  1. chmod +x ./helloworld.sh #使脚本具有执行权限
  2. ./helloworld.sh #执行脚本

2.作为解释器参数
直接运行解释器,其参数就是 shell 脚本的文件

  1. /bin/sh helloworld.sh
  2. /bin/PHP helloworld.PHP

shell 字符串

获取字符串长度

  1. string="helloworld"
  2. echo ${#string} #输出 10

提取子字符串

以下实例从字符串第 2 个字符开始截取 4 个字符:

  1. string="helloworld"
  2. echo ${string:1:4} # 输出 ello

查找子字符串

查找字符 “i 或 s” 的位置:

  1. string="helloworld is a begining"
  2. echo `expr index "$string" is` # 输出 12
  3.  
  4. #### 注释
  5. shell 只有单行注释,用 标识

shell 数组

主要是一维数组

赋值

  1. array_name=(value0 value1 value2 value3)

取值

  1. valuen=${array_name[n]}

使用@符号可以获取数组中的所有元素,例如:

  1. echo ${array_name[@]}

shell 传递参数

为脚本设置可执行权限,并执行脚本,输出结果如下所示:

脚本 helloworld.sh

  1. echo "Shell 传递参数实例!";
  2. echo "执行的文件名:$0";
  3. echo "第一个参数为:$1";
  4. echo "第二个参数为:$2";
  5. echo "第三个参数为:$3";

执行

  1. $ chmod +x helloworld.sh # 赋予执行权限
  2. $ ./helloworld.sh 1 2 3

结果

  1. Shell 传递参数实例!
  2. 执行的文件名:./test.sh
  3. 第一个参数为:1
  4. 第二个参数为:2
  5. 第三个参数为:3

shell 运算符

支持常用的运算符,但是原生 bash 不支持简单的数学运算,可以通过其他命令来实现,例如 awk 和 expr,expr 最常用

  1. #!/bin/bash
  2. val1 = `expr 2 + 2` # 这里是 反引号,表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2
  3. a=10
  4. b=20
  5. val2 = `expr $a \* $b` # 乘法必须反斜杠,其他的不用
  6. echo "两数之和为 : $val1"
  7. echo "两数之积为 : $val2"

shell 打印

  1. printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
  2. printf "%-10s %-8s %-4.2f\n" 郭靖 66.1234
  3. printf "%-10s %-8s %-4.2f\n" 杨过 48.6543
  4. printf "%-10s %-8s %-4.2f\n" 郭芙 47.9876

打印出来的

条件语句

sh的流程控制不可为空,所以 else 语句里面不能为空

@H_301_233@函数
  1. #!/bin/bash
  2. # author:菜鸟教程
  3.  
  4. demoFun(){
  5. echo "这是我的第一个 shell 函数!"
  6. }
  7. echo "-----函数开始执行-----"
  8. demoFun
  9. echo "-----函数执行完毕-----"

猜你在找的Bash相关文章