Shell变量

1           系统变量

Shell的系统变量主要对参数判断和命令返回值判断时的使用,包括脚本和函数的参数,以及脚本和函数的返回值。常用系统变量:

$n:表示传递给脚本的第n个参数,如$1表示第一个参数

$#:命令行参数的个数

$0:当前脚本名称

$*:以“参数1参数2….”形式返回所有参数的值

$@:以“参数1”“参数2”形式返回所有参数的值

$_:保存之前执行的命令的最后一个参数

例子:

#! /bin/bash

#输出脚本的参数个数

echo "thenumber of parameters is $#"

#输出上一个命令的退出状态码

echo "thereturn code of last command is $?"

#输出当前脚本名称

echo "thescript name is $0"

#输出所有的参数

echo "theparameters are $*"

#输出其中的几个参数

echo"$1=$1;$2=$2;$11=$11"

1           环境变量:

Shell环境变量是所有shell程序都可以使用的变量。(全部大写)

PATH:命令搜索路径,以冒号为分隔符,当前目录不在系统路径里

HOME:用户主目录的路径名,cd命令的默认参数

COLUMNS:命令编辑模式下可使用命令行长度

HISTSIZE:命令历史文件中最多可包含的命令条数

HISTFILE:命令历史文件

HISTFILESIZE:命令历史文件中包含的最大行数

IFS:shell使用的分隔符

LOGNAME:当前的登入名

SHELL:Shell的全路径名

TERM:终端类型

TMOUT:shell自动退出时间,单位秒,为0则禁止shell自动退出

PWD:当前工作目录

可以使用set命令列出所有环节变量,set| more

例子:

#! /bin/bash

#输出命令搜索路径

echo"commands path is $PATH"

#输出当前的登录名

echo "currentlogin name is $LOGNAME"

#输出当前用户的主目录

echo "currentuser's home is $HOME"

#输出当前的Shell

echo "currentshell is $SHELL"

#输出当前工作目录

echo "currentpath is $PWD"

2           变量赋值和清空:

Shell中所有普通变量值都看作字符串,如果赋值包含空格,制表符和换行符,要用单引号或双引号括起来,一个没有初始化的shell变量被认为是一个空字符串。

3           清除变量:

变量被清除后,代表的值也会消失。消除变量用unset语句

原文地址:https://www.cnblogs.com/pandaly/p/11447540.html