鸟哥的Linux学习笔记-bash
1. /bin/bash是linux预设的shell,也是Linux发行版的标准shell,它兼容sh,可以看作是sh的功能加强。
2. bash具有命令记录功能,在bash中通过上下键就可以翻找之前用过的命令,这些命令记录在个人主目录的.bash_history,不过这个文件记录的是前一次登录所执行过的命令,而当前登录的用户所执行的命令都还暂存在内存中,当成功注销系统后,该指令记忆才会记录到.bash_history中.
3. 命令与文件补齐功能,tab键,这个按键的功能在bash里头才有。tab接在一串指令的第一个词之后是命令补齐,接在第二个词之后作用则是文件补齐。
4. 命令别名功能, alias lm='ls -al'.
5. 支持通配符 *
6. 变量
规则: 变量与变量内容以=连接,等号两边不能接空格符;变量名称只能是英文和数字,并且不能以数字开头;变量内容如果有空格,则需要使用双引号或单引号包裹,注意单引号或者双引号要成对存在;可以使用转移字符将特殊符号变为一般字符,如\$ ; version=$(uname -r)或者version=`uname -r`是限制性()或者``内的指令,然后将执行完的指令的结果赋给左边的变量;PATH="$PATH":/bin/abc,这种语法是给已存在的变量添加内容;取消变量的指令是unset 变量名;export 变量名 的作用是将自定义变量导出为环境变量,这样其他线程也可以使用这个变量了。
进入当前核心的模块目录:不同版本,所在的目录不同,通过uname -r将变化的部分设成了一个变量。
cd /lib/modules/`uname -r`/kernel 或者 cd /lib/modules/$(uname -r)/kernel
注意点(:是有作用的):
1. 给PATH添加路径: PATH=$PATH:/abc 等效于 PATH="$PATH":/abc 等效于 PATH=${PATH}:/abc
在变量name后面添加yes: name=$nameyes这样是不对的,这样相当于name的内容是$nameyes这个变量
正确的方式应该是name="$name"yes 或者 name=${name}yes
2.单引号和双引号的区别在于双引号可以保有变量的内容
name=vBird
myname="$name its me" 打印的是vBird its me
myname='$name its me' 打印的是$name its me
7. 查看环境变量使用env或者export命令。
8. 读取键盘输入read
read [-pt] variable
-p后面可以接提示字符
-t后面接等待的秒数
9. declare定义变量
declare [-aixr] variable
-a, 将变量定义为数组类型
-i, 将变量定义成整数类型. declare -i sum=100+300; 然后$sum的值就是400,如果不加-i,那么$sum是100+300
-x,和export一样的作用,将自定义变量变为环境变量,如果将-变成+则是撤销该环境变量,如declare +x name将name变的不再是环境变量。
-r,将变量定义成readonly的,不能被更改,不能被unset