1是stdout
2是stderr
默认重定向是 1
>
2重定向
2>
把1重定向到2(合并到2)
1>&2
反之都到1
2>&1
1和2都重定向
&>
变量:
STR="hello"
echo $STR
$(ls) 等价于 `ls`
local可以用在函数里,用法同export,但产生一个局部变量.
function hello {
local XX=xx
echo $xx
}
if语句:
if-else:
if [expression]; then
else
fi
for:
for i in <范围>; do
done
范围可以用seq命令生成数字序列
while:
while [ 判断 ]; do
done
until:
函数:
function <函数名> {
}
参数用$1 ... $n表示
select:
用于创建交互式选则:
select opt in <选取范围>; do
done
选取范围的形式可以是这样的:
1:
OPTS="a b c"
select opt in $OPTS;
2:
select opt in a b c;
但这样会被认为是一个选项:
select opt in "a b c";
用户输入123, 返回的变量是选项的字面内容.
read:
交互式读取用户输入.
数值运算:
$((<表达式>))
$[<表达式>]
+-*/&|~
更复杂的用bc计算
返回值:
$?
它保存了上一次调用的返回码.
string判断:
用s表示要判断的变量
s 字符串非null
-n s 长度>0
-z s 长度是0
s1 == s2 相同, 用[[]]可以使用模式.
s1 = s2 兼容POSIX标准的等于(功能同上)
s1 != s2 不同
s1 =~ s2 正则匹配s2, 在[[]]中使用
s1 < s2 字符串比较[[]]
整数比较
-eq -ge -gt -le -lt -ne
! cond 非
c1 -a c2 与
c1 && c2 与 [[]]
c1 -o c2 或
c1 || c2 或 [[]]
阅读(809) | 评论(0) | 转发(0) |