杨超 2010年08月17日 星期二 22:47 | 1323次浏览 | 0条评论
1.命令行参数 2.变量 3.特殊参数 4.替换与扩展 5.处理未初始化或空的变量
1.命令行参数
$n 表示第n个命令行参数(n为0~9,其中$0表示程序名。若n>9,则使用${n},如${11})
${!n} 当n为变量的时候,表示第n个命令行参数
$# 表示命令行参数的个数
$* 表示所有命令行参数(当作一个参数)
$@ 表示全部命令行参数列表(当作很多个参数)
2.变量
$i 引用变量i
${name} 引用变量name
${A[0]} 引用数组A的第0个元素
${#A[*]} 引用数组A的元素个数
${#A[0]} 引用数组A的第0个元素的长度
${A[*]} 将数组A的所有元素当成一个元素来引用
${A[@]}将数组A的所有元素当成很多个元素来引用
3.特殊参数
$$ 表示shell进程的PID号
$! 最近一个后台运行的进程PID号
!$ 表示上一条命令的最后一个参数
$? 上一个进程的退出状态(0表示成功,非0表示失败,具体值可参看该进程的程序文档)
4.替换与扩展
$(command) 命令替换,以括号中命令的执行结果作为表达式的值
$((3+2*age)) 算术扩展,以括号中算式的值作为表达式的值(在其中引用变量不需再加$)
5.处理未初始化或空的变量
${name:-default} 若name为空或没有初始化,则显示default值
${name:=default} 若name为空或没有初始化,则将n赋值为default并显示
${name:?mesage} 若name为空或没有初始化,则显示错误信息message
Zeuux © 2024
京ICP备05028076号
暂时没有评论