#!/bin/bash
A=$(ls -la)
unset
$?
#返回0成功执行 返回其他没有成功执行
表达式
expr $num1 operator $num2
或者
$(($num1 operator $num2))
| num1|num2 num1不为空且非0,返回num1;否则返回num2
& num1&num2 num1不为空且非0,返回num1;否则返回0
\< num1 大于 1.......0
\>= 大于等于 1........0
=
+
-
\*
/
% 取余
${#变量名}
#shell 字符串 从零开始
${string:position} #从position开始提取子串
${string:position:length} #从position开始提取length长的子串
${string#substring} #从string的开头,删除最短匹配substring的子串
${string##substring} #从string的开头,删除最长匹配substring的子串
${string%substring} #从string的结尾,删除最短匹配substring的子串
${string%%substring} #从string的结尾,删除最长匹配substring的子串
${string/substring/replacement} #使用replacement代替第一个匹配的substring
${string//substring/replacement} #使用replacement代替所有匹配的substring
${string/#substring/replacement} #如果string的前缀匹配substring, 那么用replacement代替##匹配到的substring
${string/%substring/replacement} #如果string的后缀匹配substring, 那么用replacement代替##匹配到的substring
-h, --help: 帮助.
-i, --interactive: 交互模式.
-l, --mathlib: 预置数学程序.
-q, --quiet: 安静模式.
-s, --standard: 标准bc结构输入.
-w, --warn: 非标准结构给出警告.
-v, --version: 版本号.
||
&&
!
==
+
-
*
/
%
^
++
--
<
>
<=
>=
!=
length() #表达式长度
scale() #表达式小数点后位数
sqrt() #平方根
s(x) #sin(x)
c(x) #cos(x)
a(x) #arctan(x)
l(x) #ln(x)
e(x) #exp(x)
j(n,x) #n阶贝塞尔函数
a=(. . . .)
echo ${a[@]}
echo ${a[*]}
获取数组的长度
echo ${#数组名[*]}
echo ${#数组名[@]}
echo ${数组名[索引值]}
${数组名[@]:起始位置:截取长度}
${数组名[@]/旧字符/新字符}
unset
for in
do
...
...
done
while
do
...
done
until
do
...
done
#!/bin/bash
for((count = 1; count <= $1; count++))
do
echo The $count th output.
done
#!/bin/bash
count=1
for param in "$*"
do
echo "\$* parameter $count = $param"
count=$[ $count + 1 ]
done
count=1
for param in "$@"
do
echo "\$@ parameter $count = $param"
count=$[ $count + 1 ]
done
if...
then
...
elif...
then
...
else...
...
fi
#!/bin/bash
a=10
b=20
if [ $a -gt $b ]
then
echo "a great than b"
else
echo "a not great than b"
fi
function 函数名 {
...
return ...
}
函数名() {
...
return ...
}