第二章 变量和运算符
本地变量 应用于本地变量
localtest=“test” echo ${localtest}
set 查看本地变量
readyonly localtest localtest="newvalue" bash:localtest: readyonle varible
环境变量 所有用户进程,用于子进程,包括编辑器、脚本和应用
$HOME/.bash_profile (/etc/profile)
export globalvalue="global"
readyonly globalvalue
env
变量替换 变量的值替换它的名字
testvalue="this is a test"
echo $testvalue
${Variable name} 显示实际值到Variable name
${Variable name:+value} 如果设置了Variable name,则显示其值value,否则为空
${Variable name:?value} 如果未设置variable name,显示用户定义错误信息value
${Variable name:-value} 如果未设置variable name,则显示其值value
${Variable name:=value} 如果未设置variable name,设置其值并显示
变量清楚
unset $variablename
位置变量
#!/bin/bash
# variable name
$0 $1 $2
标准shell变量
/etc/profile
EXINIT 定义vi
HOME 指主目录
IFS 间隔
LOGNAME
MAIL 邮箱放在哪里
MAILCHECK 邮件检查时间
MAILPATH
PATH 路径
TERM 终端类型 TERM=vt100
TZ 时区
PS1 登录提示符 set | grep “PS1” [\u@\h \W]\$ PS1="ITTEST:"
PS2
PWD set | grep “PWD”
SHELL
MANPATH
TERMINFO
特殊变量
$# 传递脚本的参数个数
$* 以一个单字符显示所有向脚本传递的参数,与位置变量不同,此选项参数可以超9个
$$ 脚本运行的当前进程ID号
$! 后台运行最后一个进程的ID号
$@ 与$#相同,但是使用是加引号,并在引号中返回每个参数
$- 显示shell使用的当前选项,与set命令功能相同
$? 显示最后命令的推出状态。0表示没有错误,其他任何值表明有错误
影响变量的命令
declare 设置或显示变量
-f 只显示函数名
-r 创建只读变量 declare typeset
-x 创建转出变量
export 用于创建传给子shell的变量
-- 表示选项结束
-f 表明 名-值 对中的名字是函数名
-p 显示全局变量列表
readyonly
set
shift [n]
typeset
unset
引号运算符
引号非常必要
echo -e "ert, $SHELL '\n* china·echo itlab·"
表达式替换
运算符的优先级
运算符是对计算机发达指令
运算对象 -数字、字符 -变量 -表达式
表达式: 运算符和运算对象的组合体。
~op1
op1<<op2
op1>>op2
op1&op2
op1~op2
op1 | op2
转载于:https://www.cnblogs.com/birdgao/archive/2010/08/25/1807900.html
