1、第一行写#!/bin/bash再给脚本加上可执行权限就可以用./name.sh执行,否则需要用sh name.sh来执行脚本
2、-x执行时参数,打印每步执行的命令
3、内建命令:内建命令比外部命令执行的快
type: 用type commandname来查看是否为内建命令eg:type cd
. 和 source : “.”者“source”可以执行没有执行权限的脚本eg: . ./hello.sh or source hello.sh
bg fg & jobs:在命令后直接加&命令可以在后台执行;当一个命令已经开始执行,用Ctrl+z将命令暂停,在用jobs查看暂停命令的编号,再用bg number 来将命令后台执行;用fg number可将后台的命令调至前台执行。
echo:打印一行字符,用-n参数可也不打印换行符,-e参数可也识别打印转义字符。echo对引号不敏感,但是使用转义字符时最好加上双引号。
eval:执行参数中的命令。eg: name1=a name2=b eval $name1=”$name2” echo $a b
exec:执行当前命令,完成后退出shell
export:使父shell的变量在子shell中可见。
let:整数运算命令, eg:let i=2+2 let i++
pwd:输出工作目录,-P参数可以输出链接的源目录;$OLDPWD上次工作目录local:局部变量,常用于函数体内
read:从标准输入读入一行变量,-p参数可以输出提示;默认保存在REPLY变量中,也可以指定变量名。
return:从函数中返回,后接一个整数n。
shift:将所有参数左移一个单位;
test:测试表达式,成功返回1否则返回0。
exit: 退出当前shell,后接一个返回值。该值有相关规定。
4、变量
变量的定义:变量名=“变量值” 变量名大小写敏感,等号两侧不能有空格,无引号、单引号、双引号不敏感。但加双引号是安全的方法。
变量的引用:${name}花括号不敏感,但加花括号是安全的方法。
变量的位置不敏感,但可以用“shopt -s -o nounset”设置为必须先声明后引用。
取消变量(函数):unset name
特殊变量:$0~$N,分别表示shell名以及后面的参数,参数从$1开始,$#表示参数的个数N,不包含$0;$@和