1、查看所有的shell变量
set
2、查看所有的只读shell变量
readonly
3、变量设置值
格式:var_name=var_value
注意:=连接变量名和变量值,=两侧不能有空格;当值var_value含空格时,需要双引号把var_value包起来
4、输出变量值
echo $var_name
echo ${var_name}
5、变量值连接
echo $var_name1$var_name2
注意,两个变量之间没有空格
6、查看所有环境变量
env
7、给环境变量设置值
VAR_NAME=VALUE
export VAR_NAME
8、清除变量
unset var_name
9、导出变量到子脚本中
父脚本中定义好变量,然后 export var_name
子脚本中可以使用该变量. $var_name或${var_name}
10、上次执行命令或函数的返回值
$?
一般情况,0表示成功
11、进程id
×)脚本运行的当前进程id(The program's PID)
12、传递给shell脚本的参数个数$$
×)最后执行的后台命令的PID(Last program's PID)
$!
$#
13、反引号`
设置系统的命令输出到变量
echo "shell file name is :`basename $0` "
14、以串行形式,打印当前整个目录
echo *
15、替换运算符,
1) ${var_name:-def_Val}
如果变量var_name存在且为非null,返回该变量的值,否则返回默认值def-Val
注意var_name与:之间没有空格,:与-之间可以有空格。主要用途,如果变量未定义,则用默认值.
2) ${var_name:=val}
如果变量var_name存在且为非null,返回该变量的值,否则,把val的值赋给变量var_name,并返回var_name的值val
注意var_name与:之间没有空格,:与=之间也不能有空格。
3)${var_name:?message},
如果变量var_name存在且为非null,返回该变量的值,否则返回该变量的名字var_name:提示信息meesage,并退出当前命令或脚本
注意var_name与:之间没有空格,:与?之间也不能有空格。
4) ${var_name:+val}
如果变量var_name存在且为非null,返回val,否则返回null
注意var_name与:之间没有空格,:与+之间也不能有空格。
15、返回变量长度
${#val_name}
16、参数
×) 显示所有命令行参数
$* 或 $@
×)脚本程序名称
$0
×)第n个参数
$n
说明: $1 第一个参数 ,$2 第二个……
17、算术运算操作 $(())
$((var1 opr var2))
只能是+-*/ 和()运算符,并且只能做整数运算
例如: $((5+1))
18、命令代换$()
类似于 反引号`
例如:echo $(date)