Linux shell 学习变量var篇(一)

定义变量

varName=”value”

注意事项:

  1. 变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言不一样
  2. 中间不能有空格,可以使用下划线
  3. 不能使用标点符号
  4. 不能使用bash里的关键字(可以使用help命令产看保留的关键字)

只读变量

使用readonly命令可以将变量定义为只读变量,只读的变量的值不能不改变

readonly name=”value”
name=”v”
-bash: name: 只读变量//报错

删除变量

使用unset命令可以删除变量:
unset name
变量被删除后不能再次使用;unset变量不能删除只读变量

变量类型

运行shell时,会同时存在三种变量

  1. 环境变量

    所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

    • PATH:系统路径.
    • HOME:当前用户家目录
    • HISTSIZE:保存历史命令记录的条数。
    • LOGNAME:当前用户登录名。
    • HOATNAME:主机名称,若应用程序要用到主机名的话,一般是从这个环境变量中的取得的.
    • SHELL:当前用户用的是哪种shell.
    • LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量.
    • MAIL:当前用户的邮件存放目录.

    设置环境变量分方法

    • echo:显示指定环境变量。
    • export:设置新的环境变量。
    • env:显示所有环境变量。
    • set:显示所有本地定义的shell变量。
    • unset:清除环境变量。
  2. 局部变量
    局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。

  3. shell变量
    shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

shell特殊变量

显示当前shell进程id

echo $$

显示当前脚本文件名称

echo $0

传递给脚本或函数的参数。n 是一个数字,表示第n个参数,eg 0, 1

echo $1

传递给脚本或函数的参数个数

echo $#

传递给脚本或函数的所有参数

echo $*

上个命令的退出状态,或者函数的返回值

echo $?
Logo

更多推荐