1、同一行敲多个命令要用分号隔开。
\ 另起一行,接上文
2、设定一个变量 本地变量(只能影响当前shell,不能影响子shell) 变量名=值 xx=19
查看变量 echo $xx
取消变量 unset xx
当前shell ID: echo $$
环境变量 (会影响到子shell) export yy=10
declare -x zz=10
declare +x zz 环境变量变成本地变量
set 显示所有变量
env,export(-p) 显示环境变量
3、脚本文件开头 #!/bin/bash
$:表示参数
$#:参数个数
$0:文件名字
locale -a:查看系统支持的编码
echo $LANG :查看系统当前编码
echo $PS1:提示符格式
4、变量键盘读取:read -n (不换行 ) +变量 如果没有变量,默认变量为REPLY(echo $REPLY)
-p 可代替echo的输入+read 如下:
5、 数组:array
定义一个数组 xx=(aa bb cc dd)
获取数组元素 echo ${xx[0]} 查看数组所有元素 echo ${xx[*或@]} 查看所有元素下标 echo ${!xx[@]} 查看元素个数 echo ${#xx[@]}
6、变量声明 declare
declare -x zz=10
declare +x zz=10 环境变量变成本地变量
将变量设为只读:declare -r xx=1 或 readonly xx
7、与文件系统和程序的限制关系:ulimit -a
8、变量内容的删除、替代和替换
r=${path##*kerberos/bin} #:从前往后删 一个#:删除第一个及以前 两个#:从第一个到最后一个
r=${path%*kerberos/bin} %:从后往前删
替换:
r=${xx-“aaaaaaaaa”} 如果xx存在,将xx值赋予r,如果不存在,将aaaaaaaaa赋予r
r=${xx:-“aaaaaaaaa”} 除了判断xx是否已定义,还判断xx是否为空值
r=${xx:=“aaaaaaaaa”} 若xx为空值或不存在,那么将aaaaaaaaa赋予xx和r
r=${xx:?“aaaaaaaaa”} 若xx为空值,显示?后的警告信息
r=${xx:+“aaaaaaaaa”} 首先判断xx是否定义,若非空,将aaaaaaaaa赋予r
替代:
alias aa=“ifconfig eth0” 将ifconfig eth0用aa替代
unalias aa 取消替代
9、echo $HISTFILESIZE 保存history命令可以存放的空间大小
!编号 快速执行历史命令中的对应编号
10、修改字符界面登陆前的显示信息 vim /etc/issue
修改字符界面登陆后的显示信息 vim /etc/motd
11、bash的环境配置文件
vim /etc/profile 整个环境的全局变量
vim /etc/inputrc 常用的快捷键
12、终端机的环境配置
stty 快捷键的设置
13、set 更改使用变量的一些规则
-u 开启提示变量信息 +u 关闭
-x 系统跟踪所做的操作