| 1 |
#!/bin/bash:bash |
指明bash作为此脚本文件的解释器 |
| 2 |
your_name="runoob.com" |
变量赋值,等号前后没有空格 |
| 3 |
for file in $(ls /etc) |
ls循环列出后面路径下的文件 |
| 4 |
$ |
使用一个定义过的变量在变量名前加美元符号即可 |
| 5 |
readonly加变量名 |
定义只读变量 |
| 6 |
unset加变量名 |
删除变量 |
| 7 |
\'\' |
单引号字符串中的变量是无效的 |
| 8 |
"" |
双引号可以有变量,可以有转义字符"Hello, I know you are "$your_name"! \n" |
| 9 |
# |
获取字符串长度用,echo${#string} |
| 10 |
${string:1:4} |
截取字符串片段 |
| 11 |
expr index "$string" io |
查找子字符串i或o的位置, 注意是反引号 |
| 12 |
数组名=(value1 value2) |
定义数组 |
| 13 |
数组名[0]=value3 |
定义数组各分量 |
| 14 |
数组名[@] |
获取数组所有元素 |
| 15 |
${#数组名[@]} |
获取数组元素个数 |
| 16 |
$0 |
Shell传参,$0为执行的文件名 |
| 17 |
$1 |
Shell传参,$1为执行脚本的第一个参数 |
| 18 |
$# |
传递到脚本的参数个数 |
| 19 |
$* |
以一个单字符串显示所有向脚本传递的参数 |
| 20 |
$$ |
脚本运行的当前进程ID号 |
| 21 |
$! |
后台运行的最后一个进程的ID号 |
| 22 |
$- |
示Shell使用的当前选项,与set命令功能相同 |
| 23 |
$? |
显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误 |
| 24 |
反引号+expr+算数表达式+反引号 |
算数表达式,expr $a + $b
|
| 25 |
变量1 + 变量2 |
表达式和运算符之间要有空格,2 + 2 |
| 26 |
[ $a == $b ] |
条件表达式要放在方括号之间,并且要有空格 |
| 27 |
echo:”\n” |
显示换行 |
| 28 |
echo:”\c” |
显示不换行 |
| 29 |
echo:> file |
显示结果定向至文件 |
| 30 |
反引号 date 反引号 |
显示命令执行结果 |
| 31 |
Printf |
可定义字符串的格式,语法为printf format-string argument |
| 32 |
\a |
警告字符,通常为ASCII的BEL字符 |
| 33 |
\b |
后退 |
| 34 |
\c |
抑制(不显示)输出结果中任何结尾的换行字符 |
| 35 |
\f |
换页 |
| 36 |
\n |
换行 |
| 37 |
\r |
回车 |
| 38 |
\t |
水平制表符 |
| 39 |
\v |
垂直制表符 |
| 40 |
\ |
一个字面上的反斜杠字符 |
| 41 |
\ddd |
表示1到3位数八进制值的字符。仅在格式字符串中有效 |
| 42 |
\0ddd |
表示1到3位的八进制值字符 |
| 43 |
If Then Else Fi |
流程控制不可为空,if else 如果没有else 可以不写,写成一行中间加分号 |
| 44 |
For Do Done |
-- |
| 45 |
While Do Done |
-- |
| 46 |
Until Do Done |
-- |
| 47 |
Function_name(){Echo $.......} |
函数定义 |
| 48 |
Fucntion_name(){Return ......} |
函数有返回 |
| 49 |
Fucntion_name Echo “$?” |
函数返回值在调用该函数后通过 $? 来获得 |