Shell脚本基础与变量

前端之家收集整理的这篇文章主要介绍了Shell脚本基础与变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Shell脚本基础

  • shell编程:过程式、解释执行
  • 编程语言的基本结构: - 各种系统命令的组合 - 数据储存:变量、数组 - 表达式 - 流程控制
  • shell脚本的shebang机制:

    • shebang必须在首行
    • 格式:#!/bin/bash


  • 变量:在内存中分配空间用于暂存数据

    • 变量的类型:字符串、数值
  • 强类型语言:在使用变量之前必须声明变量的类型,不允许隐式的类型转换

    • 弱类型语言:使用前无需声明,程序执行时将会进行隐式的数据类型转换
  • 局部变量:生效范围为当前shell进程;对其他shell进程无效(包括shell)

    • 变量赋值: name='value'
    • value的值**:** (1)字符串: name='str (2)引用其他变量: name="$PATH" (3)命令引用: name=`COMMAND`
  • 变量引用: ${name}、$name

  • " ":弱引用,""中的变量会被替换为变量值
  • ' ':强引用,''中的变量不会被替换为变量值,而保持原字符串

    • 显示已定义的所有变量: set
    • 删除变量: unset name
  • 环境变量:生效范围为当前shell及其子进程

  • 环境变量声明、赋值: export name='value' declare -x name='value'
  • 显示所有环境变量: env export declare -x

  • 只读变量:只能声明,声明后不能修改删除

  • 声明只读变量:  readonly name
  • 查看只读变量:  readonly -p

  • 位置变量:在脚本中调用通过命令行传递给脚本的参数

    $1,$2,$...  :  对应第1、第2个参数
    	$*      :      所有参数,全部参数合为一个字符串
    	$@    :      所有参数,全部参数为独立的字符串
    	shift   :      每执行一次shift,位置变量的个数就会减一。 
    	set  -- :     清空所有位置参数
  • 特殊变量:

    $0  :脚本自身
    $?  :返回上一条命令的执行状态,0为执行成功,非0为失败
    $#  :位置参数总数
    $$  : 当前进程的PID
  • exit [n]:自定义退出状态码

  • 注意:脚本中一旦遇到exit命令,脚本会立即终止;终止退出状态取决于exit命令后面的数字
  • 注意:如果未给脚本指定退出状态码,整个脚本的退出状态码取决于脚本中执行的最后一条命令的状态码
原文链接:https://www.f2er.com/bash/389569.html

猜你在找的Bash相关文章