数据类型、变量
- shell中仅有一种数据类型:字符串
- 变量类型仅有两种:环境变量、本地变量
VAR=123 #定义一个本地变量VAR,值123(字符串)
export VAR #把VAR导出为环境变量
export VAR=123
env | grep VAR
alias pg='ps aux | grep'
pg init #等同于 ps aux | grep init
- 删除一个变量:
unset
- 通配符(wildcard):
*:匹配0个或多个任意字符
?:匹配一个任意字符
[若干字符]:匹配方括号中任意一个字符的一次出现
- 命令代换:显示命令本来的功能而不是作为一个字符串显示出来
反引号 ``
:
var=`date`
echo $var
$( )
:
var=$(ls)
echo $var
VAR=1
echo $[VAR+3]
echo $[2#10+8#76]
touch \$\ \$test.sh
touch ./-abc
rm ./-abc
- 单双引号可嵌套使用:
echo 'hello "xiao"'
echo "hello 'xiao'"
- 双引号:被双引号用括住的内容,将被视为单一字串,它防止通配符扩展,但允许变量扩展。这点与单引号不同。例如:
VAR=`date`
echo '$VAR'
echo "$VAR"
- 注意:
var=
echo ‘$var’
echo “$var”
var=Null
语句
条件测试
- test、[
[ -d DIR ] 如果DIR存在并且是一个目录则为真
[ -f FILE ] 如果FILE存在且是一个普通文件则