脚本的两种运行方式:
1. 将脚本作为bash的命令行参数 bash script.sh
2. 授予脚本执行权限,将其变为可执行文件 chmod a+x script.sh ./script.sh
当启动shell时,首先会执行~/.bashrc(~/.bash_profile)和~/.bash_history
~/.bashrc(~/.bash_profile) 定义提示文本、颜色等
~/.bash_history 存放执行过的命令
BASH中,命令之间是通过分号或换行符分隔
echo是终端打印的基本命令,默认情况下,echo在每次调用后会自动添加一个换行符
echo 使用-n选项可以忽略结尾的换行符
使用-e选项可以输出转义序列
BASH中,每一个变量的值都是字符串,无论是否使用引号
export用于定义环境变量 PATH=”$PATH:/home/user/bin”
export PATH
或 export PATH=”$PATH:/home/user/bin”
获取字符串长度: length=${#var}
识别当前shell类型:echo $SHELL
BASH中,执行基本运算用:let、(())、[ ]
执行高级操作用:expr、bc工具
使用let命令,变量前不需要加$
makefile中参数:
特殊变量列表
变量 含义
$0 当前脚本的文件名
$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
$# 传递给脚本或函数的参数个数。
$* 传递给脚本或函数的所有参数。
$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。
$? 上个命令的退出状态,或函数的返回值。
$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。
exit $$ 退出当前脚本进程