Linux 【变量】

1.变量名的命名规则

1.只包含字母、数字和下划线: 变量名可以包含字母(大小写敏感)、数字和下划线 _,不能包含其他特殊字符。

2.不能以数字开头: 变量名不能以数字开头,但可以包含数字。

3.避免使用 Shell 关键字: 不要使用Shell的关键字(例如 if、then、else、fi、for、while 等)作为变量名,以免引起混淆。

4.使用大写字母表示常量: 习惯上,常量的变量名通常使用大写字母,例如 PI=3.14。

5.避免使用特殊符号: 尽量避免在变量名中使用特殊符号,因为它们可能与 Shell 的语法产生冲突。

6.避免使用空格: 变量名中不应该包含空格,因为空格通常用于分隔命令和参数。

2.变量的类型

declare:声明

shell本身不支持小数。(需要借助bc工具)

declare –a name

数组array

declare –f name

方法function

declare –F name

同上,但只显示function的名字

declare –i name

整数integer

declare –r name

只读,相当于readonly name

declare –x name

export, 即不仅在当前的环境中起作用,也在外部的shell环境中起作用

3.变量的使用

使用变量时加 $ 符号

1.赋值

等号两侧避免使用空格:

# 正确的赋值
t1="变量t1"
# 有可能会导致错误
t1 = "变量t1

2.打印

t1="变量t1"
echo $t1      #打印:变量t1
echo ${t1}    #花括号是可选的,加花括号是为了帮助解释器识别变量的边界

3.改变变量

第二次赋值的时候不能 $

my_name="alan"    #第一次赋值
echo $my_name     #打印:alan
my_name="tom"     #第二次赋值
echo $my_name     #打印:tom

4.只读变量readonly

t1="I am t1"
readonly t1
t1="temp1"      #报错:This variable is read only.
#合起来:
readonly t3="I am t3"
t3="temp3"      #报错:This variable is read only.

unset 命令不能删除 只读变量 :

4.特殊变量

变量说明:

$$ ——Shell本身的PID(ProcessID)

$! ——Shell最后运行的后台Process的PID

$? ——最后运行的命令的结束代码(返回值)

$- ——使用Set命令设定的Flag一览

$* ——所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。

$@ ——所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。

$# ——添加到Shell的参数个数

$0 ——Shell本身的文件名

$1~$n ——系统内置变量:添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

$1 在shell中称为“位置参数”,表示传入的第1个参数(第1个入参)。

用在shell脚本主体中,表示shell脚本的第1个入参。

用在shell脚本函数里,表示函数的第1个入参。

  • $0 就是你写的shell脚本本身的名字
  • $1 是你给你写的shell脚本传的第一个参数
  • $2 是你给你写的shell脚本传的第二个参数

test -z $1 是一个判断表达式,用于判断$1的值是否为空字符串。若为空,则结果为true;否则为false。

#!/bin/bash

echo $0       # 打印脚本文件名

case $1 in # 
   start) echo $1 
   ;;      # 第一个参数是start,打印第一个参数 
   stop) echo $1 
   ;;      # 第一个参数是start,打印第一个参数
   *) echo "require start|stop"
   ;;      # 第一个参数既不是start也不是stop
esac

echo $2    # 打印第二个参数 

脚本运行: 

#一个参数:start
bash text.sh start    
#一个参数:stop
bash text.sh stop
#一个参数:aaa
bash text.sh aaa
#两个参数:aaa、bbb
bash text.sh aaa bbb

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值