注释:
#
注意:shell 文件开头的#!/bin/bash 里的#不是注释
运行:
1、bash shell.sh
2、chmod +x shell.sh -> ./shell.sh
3、添加到PATH 变量中
4、. ./shell.sh
排错:
1、语法毛病
运行时会有提示
2、逻辑毛病
使用echo 打印,
sleep number:睡眠number 秒,下降循环速度
使用bash -x 来调试shell 脚本
第3方工具:bashdb
内建命令:
1、判断1个命令是不是是内建的:type
2、履行程序:“.”,即便文件没有履行权限,也能够使之履行
例:. ./HelloWorld.sh
等价于source:source HelloWorld.sh
3、别名:alias
a、#alias
查看当前shell 别名
b、#alias mycommand=’command’
c、为了保存alias,可以在家目录的.bashrc 文件中添加
4、删除别名:unalias
5、任务前后台的切换:bg,fg,jobs
6、改变目录:cd
7、声明变量:declare、typeset
declare 命令的参数:
-i:声明变量是整型类型
-r:声明变量是只读类型
-a:声明数组
-f/F:显示脚本中定义的函数和函数体
-x:声明1个变量作为脚本的环境变量而被导出
8、echo
-n:不打印换行符
-e:制止解释打印反斜杠转义的字符
例:
echo “
” 结果是
echo -e “
” 结果是1个空行
echo:换行
9、break
当有数字参数number(必须大于1)时,表示跳出几层循环
10、continue
当有数字参数number(必须大于1)时,表示跳出几层循环
11、eval
将所跟的参数作为Shell 的输入,并履行产生的命令
12、exec
履行命令来取代当前的shell,典型利用是与find 1起
内建命令exec 其实不启动新的shell,而是用被履行的命
令替换当前的shell 进程,并且将老进程的环境变量清算掉,
而且exec 命令后的其他命令将不再履行。
例:
a、列出系统中所有的以.conf 结尾的文件
find / -name “*.conf” -exec ls -l {} ;
b、删除系统中所有的临时文件爱你
find / -name “*.tmp” -exec rm -f {} ;
13、退出exit
14、使变量能够被子shell 辨认export
15、kill
发送信号到指定的PID 或进程
linux 中的3种进程:Shell 交互进程,批处理进程,系
统守护进程。
杀死进程
16、整数运算let
例:
let I=2+2
let j=5⑷
let k=2*5
let l=17/5
let m=15%7
let n=2**4 -->n=2^4=16
let i++
let j--
let i+=10
let j-=10
17、显示当前工作目录pwd
18、声明局部变量local
19、从标准输入读取1行到变量:read
20、return
21、shift,向左移动位置参数
位置参数:
$1...$N:顺次表示第N 个参数
$@或$*:表示所有的参数
$0:表示脚本本身
$#:表示参数的总数
22、显示并设置进程资源限度ulimit
23、测试test