Shell编程之变量

目录

常用系统变量

自定义变量

声明变量

 撤销变量

静态变量

全局变量

特殊变量


常用系统变量

echo $HOME


echo $PWD


echo $SHELL


echo $USER



Shell编程之变量_第1张图片

自定义变量

声明变量

语法:

        变量=值

注意命名规范:

  • 由英文字母,数字和下划线 "_" 构成
  • 首字母不能是数字
  • 不能用bash中的关键字(help命令查看关键字)
  • 赋值等号两边不能有空格(部分操作系统是可以的,但仍然不建议这么做)
  • 如果有空格需要使用单引号  ' '  或者双引号 " " 扩起来
  • bash中默认字符是字符型,无法直接运算
  • 如果是环境变量建议大写

示例如下:

A=1
echo $A

撤销变量

示例如下:

unset A

静态变量

使用 readonly 命令可以将变量定义为只读变量

注意:

  • 不能unset

示例如下:

readonly B=3

Shell编程之变量_第2张图片

全局变量

可以把变量提升为全局环境变量,供其他Shell程序使用

示例如下:

export D

Shell编程之变量_第3张图片

 test.sh 文件内容如下:

#!/bin/bash


echo $D
特殊变量
  • $n n 为数字,$0 代表改脚本名称,$1-$9 代表第一到第九个参数,十以上的参数需要用大括号,例如 ${10}
  • $#功能描述:获取入参个数,常用于循环
  • $* :代表命令行中所有参数,$*  把所有参数看成一个整体
  • $@ :也代表命令行中所有参数,不过 $@ 把每个参数区分对待
  • $? : 最后一次执行的命令返回状态,如果这个变量的值为0,证明上一个命令正确执行;如果返回非零(具体由程序决定),则证明上一个命令执行异常

例如:

sh para.sh

sh para.sh 1

sh para.sh 1 2

sh para.sh 1 2 3

sh para.sh 1 2 3 4

para.sh 文件内容如下:

#!/bin/bash

echo "$0 $1 $2 $3"

echo $#

echo $*

echo $@

echo $?

结果如下:

Shell编程之变量_第4张图片

你可能感兴趣的:(shell编程,linux,运维)