鸟哥的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

    

  

原文地址:https://www.cnblogs.com/byron0918/p/4727358.html