shell 以及 控制循环
数据流的应用
echo 是输出在控制台,$是取值的意思
首先要知道 0,1,2 代表着什么
0 代表输入
1 是标准输出
2 是错误输出
> 是输出的标志
< 是输入的标志
变量
本地 name=god
局部 local ----- 只能应用于函数
环境 export
特殊
$$ 当前的 pid
$# --- 获取参数
$* --- 获取某一个位置的参数($1 $2) 通过{}确定一个整体
$@ --- 等同于 $*
$? --- 输出上一条指令的执行状态 0为正确执行,其他全为错误
$BASHPID --- 打印当前进程的实际id
运算符
let
(( 算数表达式 ))
例: c=$(($A+$B))
expr 算数表达式
注意:表达式中各操作数及运算符之间要有空格。而且要使用命令引用,``是反单引号,并且expr表达式中乘法要转译 (*)
c=` expr $A + $B `
条件表达式 test
[ expression ]
test expression
[[ expression ]]
help test
控制循环
for 三种方法
1、普通的比如:
for name in 1 2 3 4 5
do
commands
done
2、 常用的:
for (( i=1;i<=5;i++ ))
do
commands
done
3、
`seq n` ---- 打印n个数字的队列
4、无限循环
for(( ;; ))
do
done
5、嵌套循环 打印出九九乘法表
while
1、
while commands
do
commands
done
2、无限循环
while :
do
done
case
case name in
1)commands ;;
……
esac
if
if commands
then
commands
fi
do…while
switch