一、特殊变量
$0:当前脚本的文件名
$num:num为从1开始的数字,$1是第一个参数,$2是第二个参数,${10}是第十个参数
$#:传入脚本的参数的个数
$*:所有的位置参数(作为单个字符串)
$@:所有的位置参数(每个都作为独立的字符串)。
$?:当前shell进程中,上一个命令的返回值,如果上一个命令成功执行则$?的值为0,否则为其他非零值,常用做if语句条件
$$:当前shell进程的pid
$!:后台运行的最后一个进程的pid
$-:显示shell使用的当前选项
$_:之前命令的最后一个参数二、数组循环示例
#!/bin/bash
net=($(ifconfig |grep ether|awk ‘{print $2}‘))
for ((i=0;i<${#net[*]};i++))
do
echo "${net[$i]}"
done#!/bin/bash
list=(1 2 3)
for ((i=0;i<${#list[*]};i++))
do
echo $[${list[$i]}*$1]
done
# 取得数组元素的个数 length=${#array_name[@]}
# 或者 length=${#array_name[*]}
# 取得数组单个元素的长度 lengthn=${#array_name[n]}本文出自 “rabbit” 博客,请务必保留此出处http://xiajie.blog.51cto.com/6044823/1722226
原文:http://xiajie.blog.51cto.com/6044823/1722226